我有一个SQL服务器数据库(带有表格等),我已经安装了ef6以便使用异步内容(p.s. im new to ef)。
所以我补充说:
使用向导播放并创建了有效的edmx
个文件。
我的数据库名称为DUMP
,因此添加了Dumpentities
后缀:'
所以现在我能做到:
de = new DumpEntities1();
var data=de.AgeGroups.ToList()
但为什么我没有DbContext
?就像我在many地方看到的那样?
xxxEntityes是DbContext的替代品吗?
因为我似乎可以用xxEntites做所有动作......
我在我的解决方案中搜索了“dbcontext”,显然我确实拥有它:
那么这里发生了什么?
使用xxxEntiyies是新的方法吗?(而不是xxxContext = new xxxContext()
...即使我想要 - 我也没有......)
答案 0 :(得分:1)
您不应该在Entity Framework中直接使用DbContext
(这没有意义)。相反,您使用自己的自定义上下文 - 继承自DbContext
的类,该类包含特定于您的应用程序的集合。当您使用数据库第一种方法时,将根据 edmx 文件数据生成此自定义实体类,而后者将根据数据库架构生成。
关于命名...当你创建 edmx 文件时,它将生成的不明显但是自定义上下文将与连接字符串名称相同:
实际上,这将是概念实体模型的Entity Container的默认名称。如果您将在设计器中打开 edmx 文件并查看其属性,您将看到:
如果您要更改此名称,将使用您提供的名称重新生成上下文。