入门的参考资料:http://msdn.microsoft.com/zh-cn/data/ee712907

本篇的参考资料:http://msdn.microsoft.com/zh-cn/data/jj590134

教程说的很明白,虽然听不太懂,不过也能看懂 

 

我该用哪个工作流?换句话说,也就是使用EF有哪几种方式,哪种方式更适合你,更适合你当前要开发的项目。

一、该不该使用EF

这个问题很复杂,个人认为,大中型项目,不宜使用EF。

中小型项目,可以使用EF。

二、使用EF的三种方式

1、Database First:

数据库优先,就是你先建好数据库,然后再根据数据库生成Model。

这种方式唯一的缺点就是需要你去建实体对象的partial类,在partial类中设置特性等。

感觉还是这种方式是最好的,只是没有CodeFirst新潮啊,所以啊,很难留住那些花心的男人。

2、Code First:

代码优先,就是先建立实体类,然后根据实体类生成数据库。

这种方式不需要partial类,你在写实体类的时候,顺便也会把特性写上。

这种方式使用起来也不像微软说的那样容易,你既要懂数据库,又要懂Code First的各种约定、技巧,个人感觉比 Database First 入门更难。并且,操作不当的话,很有可能带来灾难性的后果,因为你一个错误的代码,就有可能导致数据库暴动。

 

3、Model First:

不想学这个,不男不女的。

三、你该选择哪种方式:

  • 如前面所说,大中型项目,你就不该使用EF。(有些人要说,大中型项目,你都不该使用.net,嘿嘿,说吧说吧,言者无罪)
  • 如果是中型项目,应该使用 Database First。
  • 小型项目,可以使用Code First。当然得是熟练工啊,像我这种菜鸟,只能在这写学习笔记。

四、Code First 的两种方式:

1、在原有数据库上使用 Code First。这没有什么好说的,我前面已经学过了,不是全新的数据库,就得使用这种方式。

2、在新数据库上使用 Code First。如果是全新的项目,当然要使用这种方式。不过一般很少会出现这种情况,你至少要把一些基本的东东弄进去吧,比如用户、权限、日志等,可能还要使用其它数据库中的数据,所以,全新的,很难找啊,除非去幼儿园。

 

实体框架 (EF) 入门 => 一、我该用哪个工作流?的更多相关文章

  1. 实体框架 (EF) 入门 => 三、CodeFirst 支持的完整特性列表

    KeyAttribute 设置主键.如果为int类型,将自动设置为自增长列. 系统默认以Id或类名+Id作为主键.StringLengthAttribute 可设置最大最小长度以及验证提示信息等.最大 ...

  2. 实体框架 (EF) 入门 => 六、性能注意事项

    这个还真是复杂,看了看微软的文档,有些根本就看不懂,有些能看懂,但对我这种菜鸟也不会去用. 无从下手啊,前面放了几个链接,挨个试试吧. 一.显式打开连接 这个我测试过,有些时候,需要我们显示打开连接, ...

  3. 实体框架 (EF) 入门 => 二、在全新的数据库中使用 Code First

    学习资料:http://msdn.microsoft.com/zh-cn/data/jj193542 视频建立的控制台应用程序,我在这里使用MVC. 一.非常有磁性的,非常优雅 很喜欢看这个人的视频, ...

  4. 实体框架 (EF) 入门 => 四、CodeFirst 枚举支持

    当使用 Code First 开发时,通常是从编写用来定义概念(域)模型的 .NET Framework 类开始. 插入记录没有为 Budget 赋值. 数值类型默认值为0,数据库中都为not nul ...

  5. 实体框架 (EF) 入门 => 五、连接和模型

    public class BloggingContext : DbContext  {  public BloggingContext()          : base("name=Blo ...

  6. Entity Framework(实体框架 EF)

    什么是Entity Framework呢(下面简称EF)? EF(实体框架)是ADO.NET中的一组支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架.ORM(对象关系映射框架):指的是面向 ...

  7. .NET实体框架EF之CodeFirst

    ADO.NET Entity Framework 以 Entity Data Model (EDM) 为主,将数据逻辑层切分为三块,分别为 Conceptual Schema, Mapping Sch ...

  8. EntityFramework_MVC4中EF5 新手入门教程之一 ---1.创建实体框架数据模型

    Contoso University  Web 应用程序 你会在这些教程中构建的应用程序是一个简单的大学网站. 用户可以查看和更新学生. 课程和教师信息.这里有几个屏幕,您将创建. 这个网站的用户界面 ...

  9. 译 - 第 1 章:EF入门

    章节信息 Entity Framework 6 Recipes 第二版第一章: Chapter 1: Getting Started with Entity Framework ----------- ...

随机推荐

  1. Iphone5S 体验(视频+截图)

    Iphone5S眨眼从外观看和5区别不大,仔细一看后面,最大的变化还是闪光灯,内部使用了A7的处理器运算速度增强了不少.无论照相还是FaceTime摄像都非常清晰,就连常用的手电筒和动态天气预报都考虑 ...

  2. 转载:SMS软件FESWMS模型使用体会

    自学了SMS-FESWMS几个月,从其原理到具体应用都已经比较熟悉.感觉这个软件还是有许多不足,这也是需要进一步提高和改进的地方.下面谈谈自己的一些感受和体会. 首先,对一些比较简单的模型,软件的计算 ...

  3. SQL Server 数据库安全

    --创建登陆用户 --create login login_name from windows with default_database = database | default_language ...

  4. Linux命令之type

    1:linux命令可以分为很多类,其中常见得类型: (1):builtin --内置命令 (2):alias --命令别名 (3):file --外部命令 具体有哪些内置命令以及内置命令各个用法: [ ...

  5. 如何判断raid1中哪块硬盘损坏?

    服务器 2块硬盘做的raid1,如果其中有一块坏掉,如何能判断是哪块坏掉? 方法①.通过硬盘硬件指示灯进行观察,一般黄灯代表硬盘存在问题,显示红灯则代表硬盘损坏.方法②.通过开机进入阵列配置进行查看, ...

  6. java值得注意的几个问题

    1.一个源文件中只能有一个类是public的,其他的都是默认权限的: 2.一个类只能作为public或者默认权限(就是没有修饰符的意思): 3.源文件的public类的名字必须要跟文件名保持一致,否则 ...

  7. 信息图形(Infographic)

    信息图形(Infographic),又称为信息图,是指数据.信息或知识的可视化表现形式.信息图形主要应用于必须要有一个清楚准确的解释或表达甚为复杂且大量的信息,例如在各式各样的文件档案上.各个地图及标 ...

  8. Linux安装配置php环境的方法

    本文实例讲述了Linux安装配置php环境的方法.分享给大家供大家参考,具体如下: 1.获取安装文件: http://www.php.net/downloads.php php-5.3.8.tar.g ...

  9. Tomcat配置虚拟主机后的登录验证码问题

    先描述一下问题现象,在本地测试运行一个java web网站,一切正常.但把网站部署到Linux服务器上后,发现登录出了问题,提示验证码输入不正确.登录时需要输入验证码,而验证码的原值是先存入sessi ...

  10. JS获取网页属性包括宽、高等

    JS获取网页属性包括宽.高等. function getInfo()  { // www.jbxue.com var s = "";  s += " 网页可见区域宽:&q ...