入门的参考资料: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. C# 扩展

    “扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型.” 这是msdn上说的,也就是你可以对String,Int,DataRow,DataTable等这些 ...

  2. 《Unix/Linux日志分析与流量监控》书稿完成

    <Unix/Linux日志分析与流量监控>书稿完成 近日,历时3年创作的75万字书稿已完成,本书紧紧围绕网络安全的主题,对各种Unix/Linux系统及网络服务日志进行了全面系统的讲解,从 ...

  3. CI系统

  4. 织梦dedecms简略标题调用标签用法指南

    我们在使用织梦DEDECMS建站过程中,为了使调用的文章标题简短且相对完整(原文标题太长),只好使用了调用简略标题这个方法,使标题显示为简短标题,指向标题时显示完整的标题.并获得文章静态地址链接 下面 ...

  5. ORA-12518 TNS:监听程序无法分发客户机连接 解决办法

    查询的脚本: select count(*) from v$process; --取得数据库目前的进程数. select value from v$parameter where name = 'pr ...

  6. 谈谈 React.js 的核心入门知识

    近来React.js变得越来越流行,本文就来谈一谈React.js的入门实践,通过分析一些常用的概念,以及提供一些入门 的最佳编程编程方式,仅供参考. 首先需要搞懂的是,React并不是一个框架,Re ...

  7. [原]POJ1141 Brackets Sequence (dp动态规划,递归)

    本文出自:http://blog.csdn.net/svitter 原题:http://poj.org/problem?id=1141 题意:输出添加括号最少,并且使其匹配的串. 题解: dp [ i ...

  8. zookeeper学习记录

    ZooKeeper:是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.他主要用来解决分布式应用中的数据管理的一致性问题 ...

  9. js ajax乱码查看\u8fdb\u53e3

    document.write('\u8fdb\u53e3') //在页面上看乱码转为中文 或在按F12 在console里查看 直接打'\u8fdb\u53e3'

  10. 第一部分 CLR基础:第2章 生成、打包、部署和管理应用程序及类型

    2.1.NET Framework部署目标 Microsoft Windows多年来因不稳定和复杂而口碑不佳.造成的原因:1.应用程序都使用来自微软和厂商的动态链接库(dynamic-link lib ...