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

  • 相关阅读:
    使用nexus 管理pip 私有包
    gitingore && opensource license 自动生成的网站
    lua-resty-qless-web UI 界面运行
    自定义pip 包开发简单说明
    ethr 微软开源的tcp udp http 网络性能测试工具
    openresty 集成lua-resty-mail +smtp2http 扩展灵活的mail 服务
    masterlab 敏捷项目管理工具
    luarocks 自定义包发布试用
    vorpal 又一个方便的cli 开发包
    gogs wekan 集成试用
  • 原文地址:https://www.cnblogs.com/anuoxiang/p/3790554.html
Copyright © 2011-2022 走看看