创建CRUD控制器

时间:2013-04-29 08:47:07

标签: c# asp.net-mvc entity-framework asp.net-mvc-4

我已将mvc4应用程序拆分为两个项目。主项目中引用的一个主要模型和一个模型。但是当我尝试创建一个CRUD控制器时,我在ControllerWithContext.tt(-1,-1)

中得到一个例外
  

FileNotFoundException:无法加载文件或装配....或者其中之一   它的依赖关系。系统找不到指定的文件。

有什么问题?

1 个答案:

答案 0 :(得分:1)

我认为问题来自EF连接字符串。通常,当您想要使用嵌入式资源时,您应该在EF ConStr中设置Metadata,如下所示:

Metadata=res://<assemblyFullName>/<resourceName>. 

您还可以使用*通配符代替<assemblyFullName>,如下所示:

Metadata=res://*/model.csdl| ...

其中model是.eMX文件的名称。它使EF在运行时搜索文件的以下位置:

  • 调用程序集。
  • 引用的程序集。
  • 应用程序的bin目录中的程序集。

如果您尝试从其他项目获取模型,则应在元数据中输入项目的全名:

Metadata=res://MyModelPrj/model.csdl | ...

最后,如果您的解决方案仅包含.EDMX文件,则只需使用以下内容:

Metadata=res://*/

请注意,仅当整个解决方案中只有一个模型时,此方法才有效。如果您的解决方案中有多个模型,则只会导致另一个错误......!

更多信息是here