zoukankan      html  css  js  c++  java
  • code first model first database first优劣势

    代码优先

    相对受欢迎,以为铁杆程序员不喜欢使用edmx xml来定义映射关系,那样太复杂。
    完全的代码控制(自动生成的代码较难修改)
    一般不会被数据库影响到,数据库只是存储,没有逻辑关系,EF框架会处理和创建逻辑,你不必关心如何实现。
    手动修改数据库可能会造成数据丢失,因为你代码定义了数据结构。

    数据库优先

    较为被DBA接受,可以单独开发,或者根据数据库自动生成。可以让EF自动创建实体,或者你自行修改映射关系后EF会生成代码。
    如果你希望附加一个功能在POCO实体中,你必须修改T4模板或者定义局部类(partial class)
    可以手动修改数据库,应为数据库定义了你的域模型。你可以随时根据数据库更新模型(亮点)。

    模型优先

    以我看来,如果你懒得写代码或者SQL,使用拖拉(设计器)来完成你的模型,让工作流去生成你的数据库脚本和T4模板生成你的POCO实体。但是你会失去部分控制实体和数据库的功能,不过对于小儿科项目来说是一个产能很高的做法。
    如果你希望附加功能在POCO实体中,你要么修改T4模板或者使用局部类。
    手动更改数据库将有可能丢失数据,因为你的模型定义了数据库。如果你有数据库生成包的插件,这会更好一些。它会允许你更新数据库模式(不用重建)或者在VS中更新数据库项目

    来自:http://stackoverflow.com/questions/5446316/code-first-vs-model-database-first

  • 相关阅读:
    Luogu3119 [USACO15JAN]Grass Cownoisseur G
    BZOJ4361 isn
    洛谷1330 封锁阳光大学
    codechef AUG17 T2 Chef and Mover
    codechef AUG17 T1 Chef and Rainbow Array
    【bzoj3211】花神游历各国&&【bzoj3038】上帝造题的七分钟2
    noip 瑞士轮 ————归并排序解法
    记录string的妙用
    洛谷P1550 [USACO08OCT]打井Watering Hole
    汕头市队赛 SRM 09 C 撕书
  • 原文地址:https://www.cnblogs.com/anuoxiang/p/3790554.html
Copyright © 2011-2022 走看看