实体框架如何在运行时显示代码第一个实体的属性和类型?

时间:2014-08-01 12:27:00

标签: entity-framework ef-code-first

我只想知道Entity Framework如何在内部工作以在运行时显示属性及其类型,特别是在Code-First方法的情况下,它不会是系统生成的代码。有些人能抬起头来吗?我不认为System.Reflection被隐式使用了吗?

1 个答案:

答案 0 :(得分:1)

  

代码优先首先作为EF功能的一部分呈现给开发人员   CTP1于2009年6月以“仅代码”为名。背后的基本前提   使用EF的这种变化是开发人员想要的   定义他们的域类,而不是理解物理模型。   但是,EF运行时依赖于该模型的XML来强制查询   将模型转换为数据库查询然后查询结果   从数据库返回到模型描述的对象。   如果没有这些元数据,EF就无法完成其工作。但元数据确实如此   不需要在物理文件中。 EF读取这些XML文件一次   在应用程序过程中,创建强类型元数据   基于该XML的对象,然后进行所有这些交互   内存中的XML。

     

代码首先也会创建内存中的元数据对象。而不是   通过读取XML文件来创建它,它从中推断出元数据   域类(参见图1)。它使用约定来执行此操作   提供了一种方法,您可以通过它添加其他配置   进一步完善模型。

Code First Builds the Entity Data Model Metadata at Run Time

  

模型构建器现在将这些附加信息考虑在内   它正在创建内存模型并计算出数据库模式。

By Julie Lerman