个人学习笔记仅供分享,如有错误还请指出
demo结构:models类库和控制台程序
1、首先在model中建立,ADO.NET 实体数据模型---空模型,然后新建数据实体,并且生成数据库
2、控制台想买引用models
3、创建实体DbContext
DbContext称之为数据库上下文,其可以代表一个数据库的集合或者表示为数据库的一个会话,以便我们查询和保存数据。我们定义一个派生自 System.Data.Entity.DbContext 的上下文,并为模型中的每个类公开一个类型化 DbSet<TEntity>,通过该上下文可以使用linq进行查询工作。在使用DbContext之前,我们需要添加 EntityFramework NuGet 程序包。
项目”–>“管理 NuGet 程序包…”
注意:如果没有“管理 NuGet 程序包…”选项,则应安装 最新版本的Nuget
选择“联机”选项卡
输入EntityFramework 查找 选择“EntityFramework”程序包
单击“安装”
安装完成后。我们在项目下新建一个文件夹DbClassContext,在该文件夹下添加一个类 并命名为EntityClassContext,添加 System.Data.Entity 引用,并将类继承自DbContext。
1 public class EntityClassContext : DbContext 2 { 3 //name=数据库连接字符串的key 4 public EntityClassContext() 5 : base("name=ModelStudyContainer1") 6 { 7 } 8 public DbSet<Models.Student> StudentContext { get; set; } 9 10 public DbSet<Models.School> SchoolContext { get; set; } 11 }
备注:name=数据库连接字符串的key。如果不设置,则提示错误
控制台数据执行
1 using (var db = new EntityClassContext()) 2 { 3 for (int i = 0; i < 100; i++) 4 { 5 Models.Student stu = new Models.Student(); 6 stu.Age = i; 7 stu.Name = "张三" + i; 8 stu.SchoolId = 1; 9 db.StudentContext.Add(stu); 10 } 11 db.SaveChanges(); 12 var query = (from s in db.StudentContext 13 join q in db.SchoolContext on s.SchoolId equals q.ID 14 select new 15 { 16 s.SchoolId, 17 s.Name, 18 schoolName = q.Name, 19 q.RoomNo 20 }).ToList(); 21 }