zoukankan      html  css  js  c++  java
  • 实体框架 (EF) 入门 => 一、我该用哪个工作流?

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

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

    image

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

    我该用哪个工作流?换句话说,也就是使用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。如果是全新的项目,当然要使用这种方式。不过一般很少会出现这种情况,你至少要把一些基本的东东弄进去吧,比如用户、权限、日志等,可能还要使用其它数据库中的数据,所以,全新的,很难找啊,除非去幼儿园。

     

     

     
     
  • 相关阅读:
    java中使用MD5加密的算法
    [转]自定义注释@interface的用法
    [转]Spring IOC详解
    [转]sed命令详解
    SimpleDateFormat线程不安全问题处理
    Unable to locate the Javac Compiler 解决办法
    MySQL ERROR 1045错误解决办法
    Python装饰器学习(九步入门)
    python 可变参数函数定义* args和**kwargs的用法
    如何更好的利用Node.js的性能极限
  • 原文地址:https://www.cnblogs.com/webenh/p/7898669.html
Copyright © 2011-2022 走看看