我使用 ASP.NET Webforms 和 Entity Framework 4,这是我的 .edmx
文件截图,因为我不知道要在此处发布什么代码:
这是我的 web.config 文件中的连接字符串:
<add name="tebimir_db_tebimEntities"
connectionString="metadata=res://*/DataAccessLayer.tebimir_db_tebim.csdl|res://*/DataAccessLayer.tebimir_db_tebim.ssdl|res://*/DataAccessLayer.tebimir_db_tebim.msl;provider=System.Data.SqlClient;provider connection string="data source=tebim.ir,9993;initial catalog=tebimir_db_tebim;persist security info=True;user id=tebimir_dbadmin;password=qwerty*2607548;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
我的 .edmx
文件位于名为 DataAccessLayer
的文件夹中。当我使用 Entity Framework 时,它工作正常并且没有问题,但只有当我创建 entityDataSource
控件并想将我的 .edmx
分配给它时,我才会收到错误消息找不到元数据,否则它可以正常工作。
我的意思是我可以使用 Entity Framework 访问数据。我检查了所有与堆栈溢出相关的问题,但找不到答案。请帮忙。
这些是附加信息,希望对您有所帮助:
最佳答案
首先,您不会在 VS 2012 上遇到此问题。这是 Visual Studio 2013 特定问题,我能够重现它。这是解决方案:
- 在解决方案资源管理器中双击您的 edmx 文件,以在 edmx 设计器中将其打开。右键单击空白表面。从上下文菜单中单击“模型浏览器”。
- 在模型浏览器窗口中选择概念模型节点。它将平行于图表节点并位于图表节点下方。默认情况下,此节点的名称是与字符串“Model”连接的数据库名称。就像如果我的数据库名称是 Employee 那么这个节点被视为 EmployeeModel。右键单击概念模型节点。从上下文菜单中单击“属性”。
- 将“Meta Artifact Processing”属性的值从“Embed in Output Assembly”更改为“Copy to Output Directory”
现在您可以通过配置数据源向导将您的 entityDataSource
控件指向此 edmx 而不会出错。请参阅以下链接的“.edmx 文件属性”部分中的注释:
https://msdn.microsoft.com/en-us/library/cc982042%28v=vs.100%29.aspx?f=255&MSPPError=-2147217396
关于c# - Entity Framework 4 中无法加载指定的元数据资源错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37457168/