首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在多个edmx文件之间共享一个模型(实体框架4.0)

在多个edmx文件之间共享一个模型(实体框架4.0)
EN

Stack Overflow用户
提问于 2012-02-07 06:57:16
回答 1查看 2.9K关注 0票数 5

我正在寻找解决我所面临的问题的办法,而且可能有许多人必须面对。

现在,我正在开发一个包含近400个表的应用程序。应用程序由七个类库项目( StudentInfo、库、费用等)组成,每个项目都有自己的.edmx文件(由50个表组成),其中包含代码生成strategy=default和引用类库项目的单个web应用程序项目。

在每个类库项目中,大约有15个表是常见的,并且将出现在.edmx文件中。类/模型的命名空间在所有.edmx文件中都是相同的(校园)。

I创建了一个部分类,即School(它是公共表/模型之一),其中包含一些方法。

但是,引发下面的编译时错误-- 'Campus.School‘类型同时存在于’D:\Project\校园\CampusStudent\‘和Campus.School中。

其他成员提出的解决办法

1)为每个.edmx文件设置不同的名称空间。

2)对模型使用不同的名称,即StudentSchool、LibrarySchool等。

这两种解决方案都将迫使我在每个类库项目中复制公共类及其方法。有人能帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-07 08:15:25

如果您在当前实体生成中使用POCO T4模板,可以使用一种方法。EF中的POCOs可以是任何名称空间中的任何类,其名称与EDMX中的实体具有相同的名称,并且具有与EDMX中的实体同名的所有属性(包括getter和setter的相同类型和可访问性)。

在另一个程序集中定义您的15个共享类(您必须遵循这些POCO规则),并由所有库项目引用它。一旦有了这个程序集,就可以创建自己版本的POCO T4模板,它不会为这些共享实体创建新的类文件,而是使用引用程序集中的类。

另一个选项是手动创建和维护所有这400个类和EF上下文类型。如果只使用代码映射(也称为代码优先),并且不会出现这些问题,这就是您要做的事情。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9172173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档