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

EF核心模型是否表示为C#.NET核心程序的一部分?,c#,entity-framework-core,C#,Entity Framework Core,说 实体框架使用一组约定来构建基于 实体类的形状。您可以指定其他选项 用于补充和/或覆盖所发现内容的配置 惯例 说 EF Core提供了两种主要方法来保持您的EF Core模型和 数据库架构处于同步状态。要在两者之间进行选择,请决定是否 您的EF核心模型或数据库模式是真相的来源 如果你想让你的EF核心模型成为真相的来源,使用 迁移。当您对EF核心模型进行更改时,此方法 以增量方式将相应的架构更改应用到 数据库,使其与EF核心模型保持兼容 如果希望数据库架构成为 真相的来源。这种方法允许构建DbC

实体框架使用一组约定来构建基于 实体类的形状。您可以指定其他选项 用于补充和/或覆盖所发现内容的配置 惯例

EF Core提供了两种主要方法来保持您的EF Core模型数据库架构处于同步状态。要在两者之间进行选择,请决定是否 您的EF核心模型或数据库模式是真相的来源

如果你想让你的EF核心模型成为真相的来源,使用 迁移。当您对EF核心模型进行更改时,此方法 以增量方式将相应的架构更改应用到 数据库,使其与EF核心模型保持兼容

如果希望数据库架构成为 真相的来源。这种方法允许构建DbContext和 通过对数据库模式进行反向工程来创建实体类型类 进入EF核心模型

我最初认为EF核心模型是C#中的一些实体类。但是上面两段话似乎表明EF核心模型是介于实体类和数据库之间的东西

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

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

是的,也不是

在内部,实体框架(EF6和EF核心)有一个“数据库模型”,该模型是EF内部的,程序员无权访问(除非他们浏览内部)。这个模型不是由POCO或“实体对象”表示的,而是由一个我们(作为EF的消费者)不与之交互的内部系统表示的(所以这无关紧要)

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

EF的最新版本(包括EF Core)删除了此EDMX文件内部数据库模型仍然存在,它只是在运行时生成的(使用
配置
代码),而不是使用
*.edmx
文件)


关于更多细节,从2012年开始,它指的是实体框架4的3种不同“模式”(代码优先、数据库优先和模型优先)。EF Core现在技术上只是代码优先,但“数据库优先”是通过从现实生活中的SQL Server数据库(或其他支持的RDBMS)重新生成POCO和配置代码来实现的。

“…EF Core模型表示为C#.NET Core程序的一部分”您所说的“表示”是什么意思?EF模型是.net核心程序的一部分。例如,在干净的体系结构中,实体是域的一部分,后来用作EF模型,保存在所选的数据库中。谢谢。您的意思是实体模型是在.edmx xml文件中定义的实体类和数据库表之间的映射吗?@StackExchangeforAll正确。