【问题标题】:How to refactor web.config in an ASP.NET MVC4 Web App with EF5 and Database First approach?如何使用 EF5 和数据库优先方法在 ASP.NET MVC4 Web 应用程序中重构 web.config?
【发布时间】:2016-02-11 10:20:24
【问题描述】:

我使用 EF5 和 Db First 方法启动了一个 ASP.NET MVC4 Web 应用程序。 现在我已经将我的模型和上下文移动到 MyApp.DataAccess 类库项目中。我添加了MyApp.DataAccessMyApp.Web 的引用。我的Web.config 和这个部分有什么关系:

<connectionStrings>
    <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=..." />
    <add name="MyOldEntities" connectionString="metadata=res://*/Models.OldDbModel.csdl|res://*/Models.OldDbModel.ssdl|res://*/Models.OldDbModel.msl;provider=System.Data.SqlClient;provider connection string='data source=&quot;<MyDbServerIp, MyPort>&quot;;initial <LoginData>;MultipleActiveResultSets=True;App=EntityFramework'>" providerName="System.Data.EntityClient" />
  </connectionStrings>

编辑: 错误信息:Unable to load the specified metadata resource

【问题讨论】:

  • 什么都没有?我在所有项目中都使用这种方法,你为什么认为你需要改变什么?有什么不工作吗?
  • 好吧,我从一个项目中的所有层开始。现在我将我的数据内容移到了一个新的类库项目中并生成了一个新的 DbContext。我添加的引用允许我访问我的所有对象,但我的 设置不再起作用。我可以根据我的新引用生成新的 web.config,还是在我添加引用时自动更新?可能还有命名空间问题... ErrorMsg is Unable to load the specified metadata resource
  • 你实际上并没有包含完整的连接字符串,所以如果我看不到它就很难判断出了什么问题。

标签: c# asp.net asp.net-mvc web-config db-first


【解决方案1】:

基于this answer,我必须改变

connectionString="metadata=...App=EntityFramework'"

connectionString="metadata=...application name=EntityFramework'"

【讨论】:

  • 我会说答案是错误的,您甚至不需要 app.config,web.config 应该由单独的程序集使用。
  • 我还没有接受答案,所以我正在寻找其他解决方案。我的 edmx 文件位于 MyApp 中,现在位于 MyApp.DataAccess 中。顺便说一句,这个答案有效。
猜你喜欢
  • 1970-01-01
  • 2017-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多