ASP MVC、EF 代码优先无法加载指定的元数据资源(没有 edmx)

ASP MVC, EF Code first Unable to load the specified metadata resource (without edmx)

当我 运行 我的网站时出现以下错误:

Unable to load the specified metadata resource.

这是我的连接字符串:

 <add name="Context" connectionString="metadata=res://*/database.csdl|res://*/database.ssdl|res://*/database.msl;provider=System.Data.SqlClient;provider connection string=&quot;Server=127.0.0.1,2014;Database=myDbName;User Id=sa;Password=myPassword;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" />

在寻找解决方案后,我发现了一些无法帮助我解决此问题的答案,因为他们说我应该对 .edmx 文件应用一些更改,但我没有任何 .edmx 文件在我的项目中。

我的项目是代码优先的,据我所知,代码优先的项目没有任何 .edmx 文件。

我也检查了服务器上相关的防火墙端口,没问题。

这里有一些我不能用这些来解决这个问题的解决方案:

entity framework Unable to load the specified metadata resource [duplicate]

MetadataException Unable to load the specified metadata resource

Unable to load the specified metadata resource. Scripts != Models

System.Data.MetadataException: Unable to load the specified metadata resource

我使用 VS17、EF 6.2,这是我的解决方案结构:

-- myPrj.web
-- myPrj.Model
-- myPrj.Repository
-- myPrj.Service

您的连接字符串用于数据库优先上下文。对于代码优先,您应该使用更简单的版本,它只包含连接到数据库的信息(元数据是动态创建的)。对于你的情况,试试这个:

<add name="Context" connectionString="Server=127.0.0.1,2014;Database=myDbName;User Id=sa;Password=myPassword;multipleactiveresultsets=True;application name=EntityFramework" providerName="System.Data.SqlClient" />