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

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。

  public class EntityClassContext : DbContext
{
//name=数据库连接字符串的key
public EntityClassContext()
: base("name=ModelStudyContainer1")
{
}
public DbSet<Models.Student> StudentContext { get; set; } public DbSet<Models.School> SchoolContext { get; set; }
}

备注:name=数据库连接字符串的key。如果不设置,则提示错误

控制台数据执行

  using (var db = new EntityClassContext())
{
for (int i = ; i < ; i++)
{
Models.Student stu = new Models.Student();
stu.Age = i;
stu.Name = "张三" + i;
stu.SchoolId = ;
db.StudentContext.Add(stu);
}
db.SaveChanges();
var query = (from s in db.StudentContext
join q in db.SchoolContext on s.SchoolId equals q.ID
select new
{
s.SchoolId,
s.Name,
schoolName = q.Name,
q.RoomNo
}).ToList();
}

EntityFramework CodeFirst 学习的更多相关文章

  1. EntityFramework CodeFirst SQLServer转Oracle踩坑笔记

    接着在Oracle中使用Entity Framework 6 CodeFirst这篇博文,正在将项目从SQLServer 2012转至Oracle 11g,目前为止遇到的问题在此记录下. SQL Se ...

  2. EntityFramework Core 学习系列(一)Creating Model

    EntityFramework Core 学习系列(一)Creating Model Getting Started 使用Command Line 来添加 Package  dotnet add pa ...

  3. EntityFramework Code-First 简易教程(二)-------Code First约定

    Code First 约定 在前一篇中,我们已经知道了EF Code-First怎样从模型类(domain classes)中创建数据库表,下面,我们开始学习默认的Code-First约定. 什么是约 ...

  4. EntityFramework Code-First 简易教程(一)

    前言:学习了EF框架这么久,还没有好好总结一番,正好遇到一国外的网站,发现不错,随即翻译过来,一是让自己复习一遍,二是供广大初学者学习,翻译过程中加入了一些自己的理解,如有错误,还请指出,多谢多谢.好 ...

  5. EntityFramework Code-First教程(一)

    前言:学习了EF框架这么久,还没有好好总结一番,正好遇到一国外的网站,发现不错,随即翻译过来,一是让自己复习一遍,二是供广大初学者学习,翻译过程中加入了一些自己的理解,如有错误,还请指出,多谢多谢.好 ...

  6. CodeFirst学习笔记

    一.概要 本文主要是学习CodeFirst思想.技术上的实现是C#(.net framework4.6.1) 控制台 + PostgreSQL 10.2.1 代码:https://pan.baidu. ...

  7. EntityFramework Code-First 简易教程(七)-------领域类配置之Fluent API

    Fluent API配置: 前面我们已经了解到使用DataAnotations特性来覆写Code-First默认约定,现在我们来学习Fluent API. Fluent API是另一种配置领域类的方法 ...

  8. EntityFramework Code-First 简易教程(五)-------领域类配置

    前言:在前篇中,总是把领域类(Domain Class)翻译成模型类,因为我的理解它就是一个现实对象的抽象模型,不知道对不对.以防止将来可能的歧义,这篇开始还是直接对Domain Class直译. 前 ...

  9. EntityFramework Code-First 简易教程(三)-------数据库初始化

    现在我们来学习,当数据库初始化的时候,Code First怎样设置数据库的名字. 下面的图显示了数据库初始化的工作流程,根据传入给context基类的构造函数的参数来初始化: 根据上面的图,conte ...

随机推荐

  1. std::shared_ptr之deleter的巧妙应用

    本文由作者邹启文授权网易云社区发布. std::shared_ptr 一次创建,多处共享,通过引用计数控制生命周期. 实例 在邮箱大师PC版中,我们在实现搜索时,大致思路是这样的: 每一个账号都有一个 ...

  2. java—过虑器基础(47)

    在web项目中就只有三大组件: Filter过虑器 监听器. Servlet 在web中过虑器就是一个类javax.servlet.Filter. 过虑器是用于在执行时,过虑用户的请求(request ...

  3. Zipper(动态规划)

    点击打开链接 描述 Given three strings, you are to determine whether the third string can be formed by combin ...

  4. 【ocp-12c】最新Oracle OCP-071考试题库(37题)

    19.choose the best answer View the Exhibit and examine the structure of the PROMOTIONS table. Evalua ...

  5. iOS仿UC浏览器顶部频道滚动效果

    很喜欢用UC浏览器上网,当然不是给UC打广告,里面有很多酷炫的效果,值的学习,这次分享的是频道滚动的效果.动画效果如下: 实现的这个效果的关键是绘制,重写顶部Label的drawRect方法 gith ...

  6. java修饰符顺序

    Modifiers should be declared in the correct order (squid:ModifiersOrderCheck) Code smell Minor The J ...

  7. http协议缓存小结

    缓存可以使用expire方式,设置到期时间,缓存的时间等于expire设置的时间减去当前的时间 也可以使用no-cache的方式进行缓存,当设置了no-cache的方式时,以no-cache的为准,e ...

  8. STM32-RS232通信软硬件实现

    OS:Windows 64 Development kit:MDK5.14 IDE:UV4 MCU:STM32F103C8T6/VET6 AD:Altium Designer 18.0.12 1.RS ...

  9. python3的嵌套函数

    背景 最近在学python3 嵌套函数 顾名思义,即使在函数中还有函数,实现了函数的多级嵌套 def test1(): age = 10 print(age) def test2(): te = 5 ...

  10. Visual Studio Code 调试 PHP

    Visual Studio Code 调试 PHP 2018/12/4 更新 Nginx + php-cgi.exe 下与 Visual Studio Code 配合调试 必需环境 Visual St ...