【发布时间】:2013-08-20 18:01:39
【问题描述】:
我现在正在自学 MVC4(做了多年的网络表单),而且我正在 沮丧 - 但不是关于 MVC,这非常好。实体框架 是……嗯
我正在使用 VS2010。
问题
我们有一个真实的数据库,你知道用外键之类的东西标准化。但是我为 Entity Framework 找到的每个示例都直接指向表格,但我们很少有直接的表格拉出 - 填充下拉列表等。我们所有的前端调用都命中了一个存储过程(多么古老的学校!脏话删除)
我喜欢 MVC 的模型架构,您可以在其中定义来自数据源的数据的属性 - 显示名称、范围、数据类型。等等。所以我绝对想保留这个。
Entity Framework 和 MVC 不想在这个场景中发挥出色。我创建了我的 edmx 文件(仅限 SP),为 SP 导入了我的函数,一切都很好......'直到现在。
无法从 edmx/designer 创建控制器 - 输入控制器名称,选择使用 EF 读取的 MVC 控制器,选择作为函数名称_结果的模型类,并为上下文选择 ...实体名称。 FAIL 无法检索元数据
好的,所以现在我尝试使用 EF 5.x DbContext Generator,更新文件名和繁荣我有一个模型和上下文 - 太棒了,现在我可以做很酷的 MVC 东西,让我们重建网站......哦,恐怖- 一切都已预先定义。
我尝试在不同的文件夹中生成 edmx 和/或在 DBContext 生成器之后将其删除,但仍然无法创建 Controller。
'blah' is not part of the specified 'Context' class, and the 'Context' class could not be modifed to add a 'DbSet' property to it. (For example, the 'Context' class might be in a compiled assembly.)
如果我手动添加 DBSet,我将无法检索元数据 - 我假设发生这种情况是因为它无法连接到数据库。我不知道在哪里告诉它使用 web.config 中的连接字符串。 - 如果这是问题
我的 MVC 对更光明未来的希望破灭了。
我错过了什么?
我没有嫁给 EF,所以如果有更好的方式来访问数据库(无需从头开始编写所有代码),我会在这里倾听。
谢谢
【问题讨论】:
标签: asp.net-mvc entity-framework asp.net-mvc-4 entity-framework-5