我正在book中阅读作者创建自定义上下文类(不使用edmx文件)进行数据访问。
我现在好奇。
在实际情况中,最常用的方法是自定义DbContext
类或 .edmx
文件。
我知道如果我使用它们,我应该有不同的.edmx
文件,但如果我使用自定义DbContext
类,我需要具有相同的文件。
答案 0 :(得分:2)
如果您首先使用数据库或模型,则必须拥有edmx文件 - 它嵌入在dll中,连接字符串引用它。它包含映射信息。
如果首先使用代码,则永远不需要edmx文件 - 映射信息是通过约定和/或代码(即属性等)导出的。 (创建自定义DbContext是代码优先方法)
代码第一种方法只要数据库第一种方法就不存在,因此我猜在现实世界的场景中更为普遍。当存在现有数据库结构时,更有可能使用数据库第一种方法。然而,代码第一种方法正在迅速普及。