Database First

“Database First”模式即“数据库优先”,其实Database First 与Model First 很类似,只不过一个是有数据可一个是创建数据库,具体的操作流程其实很类似,

关键一步就是选择 实体数据模型向导中,选择数据库还是空模板,Database First 是选择数据库,而Model First 是选择空白的模板,

所以Database First 的前提是必须有相应的数据库,才可以使用EF设计工具根据数据库生成数据数据类,同时也可以使用VS模型设计器修改这些模型之间对应关系。

为了与上篇的Model First加以区分,这里新建一个控制台程序EFTest2,然后添加新建项,选择 ADO.NET实体数据模型,名称输入EFDemoDB

点击 添加

选择 来自数据库的EF设计器  点击 下一步,

这里选择 新建连接,因为Database First是必须要有数据库的,所以这里你可以使用.\SQLEXPRESS这个默认的数据库,也可以用localdb数据库,当然为了方便,本作者选择上篇文章Model First当中的master数据库

点击 下一步

点击  下一步

选择表,点击 完成

点击  确定,

上述操作完成后项目中会添加两个实体类Student,SubjectScore和一个数据库上下文操作类EFDemoDB,如下

测试一下

运行结果

注意:如果你的数据库表结构发生改变后,只需在模型设计视图空白处右键,选择   从数据库更新模型(U)...     接着按照向导操作即可。(如下图)

C#+EntityFramework编程方式详细之Database First的更多相关文章

  1. C#+EntityFramework编程方式详细之Code First 数据迁移

    在前几篇的C#+EntityFramework编程方式中介绍了C#+EntityFramework编程方式Code First ,Model First以及Dtatabase First 等编程方式, ...

  2. C#+EntityFramework编程方式详细之Code First

    Code First Code First模式即“代码优先”模式,是从EF4.1开始新建加入的功能.使用Code First模式进行EF开发时只需要编写对应的数据类,然后自动生成数据库. Code F ...

  3. C#+EntityFramework编程方式详细之Model First

    Model First Model First模式即“模型优先”,这里的模型指的是“ADO.NET Entity Framework Data Model”,此时你的应用并没有设计相关数据库,在VS中 ...

  4. EF三种编程方式详细图文教程(C#+EF)之Database First

    Entity Framework4.1之前EF支持“Database First”和“Model First”编程方式,从EF4.1开始EF开始支持支持“Code First”编程方式,今天简单看一下 ...

  5. EF三种编程方式详细图文教程(C#+EF)之Code First

    Code First Code First模式我们称之为“代码优先”模式,是从EF4.1开始新建加入的功能.使用Code First模式进行EF开发时开发人员只需要编写对应的数据类(其实就是领域模型的 ...

  6. EF三种编程方式的区别Database first ,Model first ,code first

    首先对于EF中先出现的datebase  first和model first两种编程方式,其的区别根据字面意思很容易能够理解. datebase  first就是代表数据库优先,那么前提就是先创建数据 ...

  7. EF三种编程方式详细图文教程(C#+EF)之Model First

    Model First Model First我们称之为“模型优先”,这里的模型指的是“ADO.NET Entity Framework Data Model”,此时你的应用并没有设计相关数据库,在V ...

  8. Entity Framework 5.0系列之EF概览-三种编程方式

    概述 在开发面向数据的软件时我们常常为了解决业务问题实体.关系和逻辑构建模型而费尽心机,ORM的产生为我们提供了一种优雅的解决方案.ADO.NET Entity Framework是.NET开发中一种 ...

  9. EntityFramework(1)基础概念与Database First

    基本概念 EntityFramework是微软推出的一款ORM工具,关于ORM的概念请参考博客https://www.cnblogs.com/huanhang/p/6054908.html.这篇文章对 ...

随机推荐

  1. 页面跳转时,url 传大数据的参数不全的问题+序列化对象

    1.页面跳转时,url 传大数据的参数不全的问题 //传参: url: '/pages/testOfPhysical/shareEvaluation?detailInfo=' +encodeURICo ...

  2. 对List集合嵌套了map集合对double值进行排序

    /*[ { "repairo": "asda", "num": 88.71 }, { "repairo": " ...

  3. UIAutomator简介

    简介 Android 4.3发布的时候包含了一种新的测试工具–uiautomator,uiautomator是用来做UI测试的.也就是普通的手工测试,点击每个控件元素 看看输出的结果是否符合预期.比如 ...

  4. Python——threading模块(线程)

    一.threading模块的对象 Thread:表示一个执行线程的对象 Lock:锁 Rlock:可重入锁对象 Condition:条件变量对象,使得一个线程等待另一个线程满足特定的“条件” Even ...

  5. Python——Tk控件说明

    控件 描述 具体说明 Button 按钮  点此链接 Canvas 提供绘图形状的功能,包含图像和位图  点此链接 Checkbutton 多选框  点此链接 Entry 单行文本框  点此链接 Fr ...

  6. java 的数据类型及其所占的字节数

    1.char java中的一个char是2个字节.java采用unicode,2个字节来表示一个字符. 一个数字或英文或汉字都是一个字符,只不过数字和英文时,存储的2个字 节的第一个字节都为0,就是浪 ...

  7. Luogu5289 十二省联考2019皮配(动态规划)

    将选择导师看成先选阵营再选派系,这样有显然的O(nm2)暴力,即按城市排序后,设f[i][j][k]为前i个学校中第一个阵营有j人第一个派系有k人的方案数,暴力背包. 对于k=0,可以发现选阵营和选派 ...

  8. GOOGLE RANKBRAIN 完整指南

    [译]GOOGLE RANKBRAIN 完整指南 ( 2018 最新版 ) 2018.01.29    来源  http://www.zhidaow.com/post/google-rankbrain ...

  9. c 判断文件或文件夹是否存在,多种方法, 为什么从一开始就不直接来个统一的呢?

    具体内容,请看: https://blog.csdn.net/u012494876/article/details/51204615 判断文件或文件夹是否存在,竟然有这么多方法: GetFileAtt ...

  10. ADO.NET中的五大内置对象

    ADO.NET中的五大内置对象 学习链接:https://blog.csdn.net/wxr15732623310/article/details/51828677