1

我有一个 SQL 服务器数据库(带有表等)并且我安装了 ef6 以便使用异步的东西(ps im new to ef)。

所以我添加了这个:

在此处输入图像描述

与向导一起玩并创建了一个有效的edmx文件。

在此处输入图像描述

我的数据库名称是 DUMP所以它添加了Dumpentities后缀:'

所以现在我可以做:

de = new DumpEntities1();
 var data=de.AgeGroups.ToList() 

但为什么我没有DbContext?就像我在很多地方看到的那样?

xxxEntityes 是 DbContext 的替代品吗?

因为看起来我可以用 xxEntites 做所有的动作......

编辑

我在我的解决方案中搜索了“dbcontext”,显然我有它:

在此处输入图像描述

那么这里发生了什么?

使用 xxxEntiyies 是新的方式吗?(并且不做xxxContext = new xxxContext()......即使我想要 - 我没有它......)

4

1 回答 1

1

您不应该DbContext在实体框架中直接使用(这没有意义)。相反,您使用自己的自定义上下文 - 继承自其中的类,DbContext其中包含特定于您的应用程序的集合。当您使用数据库优先方法时,此自定义实体类将基于edmx文件数据生成,而后者又将基于数据库模式生成。

关于命名......它并不明显,但将生成的自定义上下文将在您创建edmx文件时与连接字符串名称具有相同的名称:

在此处输入图像描述

实际上,这将是您的概念实体模型的实体容器的默认名称。如果您将在设计器中打开edmx文件并查看其属性,您将看到:

在此处输入图像描述

如果您要更改此名称,则会使用您提供的名称重新生成上下文。

于 2013-07-10T21:13:18.080 回答