代码之家  ›  专栏  ›  技术社区  ›  Tim unnamed eng

EF核心模型是否表示为C#.NET核心程序的一部分?

  •  0
  • Tim unnamed eng  · 技术社区  · 5 年前

    https://docs.microsoft.com/en-us/ef/core/modeling/

    实体框架使用一组约定来构建 模特儿 基于 实体类的形状 配置以补充和/或覆盖

    https://docs.microsoft.com/en-us/ef/core/managing-schemas/

    EF核心模型 数据库架构 同步。要在两者之间做出选择,请决定

    增量地将相应的架构更改应用到 使其与您的EF核心模型保持兼容。

    真相的来源。这种方法允许构建DbContext和 成为EF核心模型。

    所以我想知道EF核心模型是否表示为C#.NET核心程序的一部分? 我没有visualstudioide,我只能感觉到它作为程序的一部分存在。

    1 回复  |  直到 5 年前
        1
  •  1
  •   Dai    5 年前

    但是上面的两个引用似乎表明EF核心模型是介于实体类和数据库之间的东西。

    在内部,实体框架(EF6和EF-Core)有一个“数据库模型”,它是EF的内部模型,程序员没有访问权限(除非他们仔细查看内部结构)。这个模型不是由POCO或“实体对象”来表示的,而是由一个我们(作为EF的消费者)不与之交互的内部系统来表示的(所以这并不重要)。

    *.edmx XML文件,其中列出了所有数据库表、列、存储过程、UDF等,并将它们映射到.NET类类型及其成员。这是它所指的内部数据库模型。

    EF的最新版本(包括efcore)去掉了这个EDMX文件。 内部数据库模型仍然存在 Configuration 代码)而不是使用 文件)。

    更多细节, I recommend this StackOverflow QA 从2012年开始,这是指EntityFramework4的3种不同的“模式”(代码优先、数据库优先和模型优先)。EF核心现在 配置 来自现实生活中的SQL Server数据库(或其他支持的RDBMS)的代码。