要专业系统地学习EF前往《你必须掌握的Entity Framework 6.x与Core 2.0》这本书的作者(汪鹏,Jeffcky)的博客:https://www.cnblogs.com/CreateMyself/    

上一篇我简单弄了一下EF的简单配置,加上今天学的另外一些配置,我觉得得梳理一下。不要到处搞一点,得有个概念框架把这些东西归置好,不然容易乱。

那我就把配置分为全局性的和局部的配置,也叫约定。

全局当然就是我面向所有的模型进行统一的配置,局部的就是我针对某一个模型配置

具体的配置,我们可以针对属性来:比如Person的Id属性我们设置它为主键、长度、数据类型……

                     可以针对类型来:比如Person的所有string类型的属性,我设置长度为200、非空……

复杂类型约定

EF6学习笔记三:全局约定和自定义约定,整理并记下来

像这种,如果EF检查Address里面没有Id属性就会认为是复杂类型。Student的构造函数里面对Address进行了初始化。这是因为复杂类型默认总是必需的

这个体会不到可以先不管,等到后面用到这个,然后EF给你报错了再去体会也不迟。

对于EF默认配置的态度是这样,即使它默认配置符合我的期望,我也会显示地去配置一下

protected override void OnModelCreating(DbModelBuilder dbModelBuilder)
        {
           //  显示配置复杂类型
            dbModelBuilder.ComplexType<Address>();
}
View Code

相关文章:

  • 2022-12-23
  • 2022-02-24
  • 2021-05-25
  • 2022-12-23
  • 2021-09-10
  • 2021-12-21
  • 2021-07-31
猜你喜欢
  • 2021-11-12
  • 2021-10-19
  • 2021-06-05
  • 2021-06-11
  • 2021-05-20
  • 2021-09-25
相关资源
相似解决方案