欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 有关EF Core

有关EF Core

2026/4/20 2:29:17 来源:https://blog.csdn.net/weixin_73376914/article/details/144299370  浏览:    关键词:有关EF Core
public class MyOwnDatabase : DbContext
{public MyOwnDatabase(string connectionStringOrDbName = "name=MyOwnDatabase"): base(connectionStringOrDbName){}
}

: base(connectionStringOrDbName)

  • : base(...) 是在调用基类 DbContext 的构造函数。
  • 这里将 connectionStringOrDbName 传递给 DbContext 的构造函数,EF 会使用它来建立数据库连接。

动态指定连接字符串

using (var context = new MyOwnDatabase("Server=myServer;Database=myDb;User Id=myUser;Password=myPass;"))
{var user = new User { Name = "test", Password = "456" };context.Users.Add(user);context.SaveChanges();
}

"Server=myServer;Database=myDb;User Id=myUser;Password=myPass;"
这个连接字符串直接用于连接数据库,而不会使用配置文件中的默认连接字符串。

默认连接字符串

using (var context = new MyOwnDatabase())
{var user = new User { Name = "admin", Password = "123" };context.Users.Add(user);context.SaveChanges();
}

DbSet<T> 的作用

  1. 表示表

    • DbSet<T> 对应于数据库中的一个表,T 是映射到该表的实体类。
    • 例如:public DbSet<User> Users { get; set; }
    • 表示 User 实体类映射到数据库中的 Users 表。
  2. CRUD 操作

    • DbSet<T> 提供了对表中数据的增删改查功能。例如:
      • Add: 添加数据到表中。
      • Find: 根据主键查询数据。
      • Remove: 删除表中的数据。
      • 支持 LINQ 查询:通过 LINQ 查询语法,执行筛选、排序、聚合等操作。
  3. 动态生成 SQL

    • 在执行数据库操作时,Entity Framework 会根据对 DbSet<T> 的操作动态生成相应的 SQL 查询语句。

在应用程序中,你可以通过 DbSet<T> 对表中的数据进行操作。

1. 添加数据
 

using (var context = new MyOwnDatabase()) { var user = new User { Name = "admin", Password = "123" }; context.Users.Add(user); // 添加用户到 Users 表 context.SaveChanges(); // 保存更改到数据库 }

2. 查询数据
 

using (var context = new MyOwnDatabase()) { // 查询所有用户 var allUsers = context.Users.ToList(); // 根据条件查询用户 var specificUser = context.Users.FirstOrDefault(u => u.Name == "admin"); }

3. 更新数据
 

using (var context = new MyOwnDatabase()) { // 查询用户 var user = context.Users.FirstOrDefault(u => u.Name == "admin"); if (user != null) { user.Password = "456"; // 修改密码 context.SaveChanges(); // 保存更改 } }

4. 删除数据
 

using (var context = new MyOwnDatabase()) { var user = context.Users.FirstOrDefault(u => u.Name == "admin"); if (user != null) { context.Users.Remove(user); // 删除用户 context.SaveChanges(); // 保存更改 } }

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词