Cle*_*ton 2 .net linq entity-framework
我尝试编译我的Web应用程序时收到以下错误:
错误11错误2002:MetadataWorkspace中不存在指定为此MSL一部分的概念模型的EntityContainer"SomeEntitieContainerName".
我只有一个*.edmx名为BancorlineDB.edmx的"实体容器名称"设置为"BancorLineEntidades".
这个错误只是我的分:
使用Oracle数据库模式我修改了表上主键字段的大小.该字段是另一个表上的外键.我忘了修改第二张表的大小.
在我的带有Entity Framework 5.0的.Net Web项目中,我从数据库中重新生成模型... ERROR 2002 EntityContainer bla ... bla ...
我花了很多时间来讨论这个......愚蠢的错误和来自ODT 12的更愚蠢的信息.
该.edmx格式可以非常混乱排查。在您的情况下,可能是两个名称不匹配的情况。
.edmx使用 XML 编辑器打开文件,并切换所有大纲,您应该能够看到 3 个部分。
SSDL 和
CSDL 和
C-S 映射。
该SSDL 存储对应于数据库中的表。该CSDL 概念对应于您DbSets或ObjectSets。该C-S映射是如何每个概念集涉及所述存储集。
<edmx:Edmx Version="3.0" xmlns:edmx="http://schemas.microsoft.com/ado/2009/11/edmx">
<!-- EF Runtime content -->
<edmx:Runtime>
<!-- SSDL content -->
<edmx:StorageModels>
<Schema Namespace="SamDb.Store" Alias="Self" Provider="System.Data.SqlClient"...
<EntityContainer Name="SamDbStoreContainer">
</edmx:StorageModels>
<!-- CSDL content -->
<edmx:ConceptualModels>
<Schema Namespace="SamDb" Alias="Self" ...>
<EntityContainer Name="SamDbContainer" ...>
</edmx:ConceptualModels>
<!-- C-S mapping content -->
<edmx:Mappings>
<Mapping Space="C-S" xmlns="http://schemas.microsoft.com/ado/2009/11/mapping/cs">
<EntityContainerMapping
StorageEntityContainer="SamDbStoreContainer"
CdmEntityContainer="SamDbContainer" ...>
</edmx:Runtime>
</edmx:Edmx>
Run Code Online (Sandbox Code Playgroud)
要解决此问题,您必须确保CS 空间中的StorageEntityContainer和CdmEntityContainer名称匹配。在上面的示例中,它是SamDbStoreContainer和SamDbContainer