Entity framework 4 实体框架元数据问题

Entity framework 4 实体框架元数据问题,entity-framework-4,Entity Framework 4,使用EF4.0。我有两个实体模型,都命名为CoreEntities,但在不同的程序集和不同的名称空间中 如果我有一个引用两个组件的项目,EF似乎会对要加载的正确元数据工件感到困惑 具体来说,我会遇到如下错误: The EntitySet name 'CoreEntities.MyEntities' could not be found. 一旦删除对其中一个程序集的引用,错误就停止发生 我不确定这是否会产生影响,但我使用以下代码生成实体连接字符串: public static string Bu

使用EF4.0。我有两个实体模型,都命名为CoreEntities,但在不同的程序集和不同的名称空间中

如果我有一个引用两个组件的项目,EF似乎会对要加载的正确元数据工件感到困惑

具体来说,我会遇到如下错误:

The EntitySet name 'CoreEntities.MyEntities' could not be found.
一旦删除对其中一个程序集的引用,错误就停止发生

我不确定这是否会产生影响,但我使用以下代码生成实体连接字符串:

public static string BuildEntityConnectiongString(string entityContextName)
{
    //Format: metadata=res://*/{EntityContext}.csdl|res://*/{EntityContext}.ssdl|res://*/{EntityContext}.msl;provider=...
    string rawString = System.Configuration.ConfigurationManager.ConnectionStrings["GenericEntityConnectionString"].ConnectionString;
    return rawString.Replace("{EntityContext}", entityContextName);
}
EF如何确定在哪个程序集中查找嵌入的元数据?有人会认为它总是首先查看包含模型的程序集,但显然这不是它的工作方式


想法?

与往常一样,快速查看文档可以提供答案:

基本上,res://*/中的通配符告诉EF在所有加载的程序集中搜索元数据。它找到的第一个匹配的,它使用

在我的例子中,它首先找到了错误的一个


解决方法是修改我的BuildEntityConnectiongString函数(以及我正在使用的通用连接字符串),以允许我显式指定程序集名称。

与往常一样,快速查看文档可以找到答案:

基本上,res://*/中的通配符告诉EF在所有加载的程序集中搜索元数据。它找到的第一个匹配的,它使用

在我的例子中,它首先找到了错误的一个


解决方法是修改BuildEntityConnectiongString函数(以及我正在使用的通用连接字符串),以允许我显式指定程序集名称。

是否可以显示解决方案。我也有同样的问题,我认为这可能是一个简单的解决方案。是否有可能展示这个解决方案。我也有同样的问题,我认为这可能是一个简单的解决方案。