• 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

  • 相关阅读:
    .Net 6+项目使用Husky.Net在项目提交时格式化代码
    maven 之将项目打包压缩。
    netty ChannelPipeline流处理源码详细分析
    maven 之 将资源文件 copy到classes目录中
    maven 之 根据不同环境,选择不同的配置文件。
    flex+spring+blazds 数据推送,client自动断开问题。
    C#如何读写xml文件
    序列化 与 反序列化
    DataSet与List的转换
    Python基础入门
  • 原文地址:https://www.cnblogs.com/anuoxiang/p/3790554.html
Copyright © 2020-2023  润新知