zoukankan      html  css  js  c++  java
  • EntityFramework CodeFirst 学习

    个人学习笔记仅供分享,如有错误还请指出

    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             }
  • 相关阅读:
    stm32 IAP + APP ==>双剑合一(转)
    ClassNotFoundException和NoClassDefFoundError的差别
    浏览器对文字的解析
    hive 配置注意事项及初始化hive 元数据
    移植MonkeyRunner的图片对照和获取子图功能的实现-Appium篇
    导出excel——弹出框
    机器学习类似度计算方法选择理论根据
    数据结构
    八.200多万元得到的创业教训--从3款产品学到的3点
    深圳市安卓工控设备有限公司简单介绍
  • 原文地址:https://www.cnblogs.com/happygx/p/9299761.html
Copyright © 2011-2022 走看看