我正在 MVC3 Web 应用程序中使用 Entity Framework 4.1。我的任务是重写一个遗留应用程序,其中包含大约 200 多个表的数据库,并且数据已经就位,因此采用 EF 的数据库优先方法。
我知道为整个应用程序创建一个巨大的 edmx 模型是一种不好的做法,但经过几个小时的研究,我无法获得如何前进的明确方向,因为我不知道如何重用公用表在不止一种模型中。但我想将我的模型分解为更小的、易于管理的环境。
当我在两个模型中放置一个公用表(例如 Users)时,该项目会抛出以下形式的编译错误:
类型“Project.Models.EntityX”已包含“EntityX_PropertyY”的定义
我发现的最接近解决方法是在这里:http://connect.microsoft.com/VisualStudio/feedback/details/366721/entity-framework-the-type-xxx-already-contains-a-definition-for- X
Microsoft 发布于 2008 年 9 月 17 日下午 5:18
这个问题是设计使然的。解决方法是将模型放在不同的文件夹中(对于 C# 和 ASP.NET 项目),或者设置自定义工具命名空间(对于 C# 和 VB 项目)。
这是08年的事了。我无法使用任何一个选项,我想知道是否有更好的方法来构建项目,以便我能够在多个模型中使用同一个表?
c# asp.net-mvc entity-framework-4.1 asp.net-mvc-3 ef-database-first