我不确定这是否是正确的方法,如果是这样,请提出不同意见。
这是一个使用 EF 5.x 的 ASP.Net MVC 4 站点
假设您在自己的类库中拥有 Entity Framework 。 Code Generation Item 现在已经生成了你所有的模型(你的 EF 模式的 xxx.tt 部分)
然后在站点的开发中添加/引用该项目。
您现在可以通过 EF 访问数据。
现在 - 在站点项目中,我想创建一个 EF 模型的部分类,例如“用户”,以及一个不在数据库中的附加属性。
过去,当 EF 是项目的一部分而不是引用时,在 Web 表单项目中,我会简单地创建部分类,一切都会很好;我的“用户”现在会有一堆与数据库无关但“用户”需要的其他东西。
我似乎无法让它在这个 EF 位于单独项目中的 MVC 项目中工作。
我试过这样做,例如:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MyTestEntity.Entity;
namespace MyTestMVCSite.Models
{
public partial class Email
{
public string OtherEmail {
get { return "me@myEmail.com"; }
}
}
}
我也试过继承 EF 模型类,像这样:
public partial class Email : MyTestEntity.Entity.Email
{
public string OtherEmail {
get { return "me@myEmail.com"; }
}
}
我似乎没有做任何让我访问“OtherEmail”的事情
我真正想要做的是为我的一些模型创建一个部分类,然后让这个部分类实现一个接口(interface),这样我就可以将这个接口(interface)的实例注入(inject)另一个对象而不是重载。
我是在胡说八道吗?
最佳答案
您不能在两个不同的程序集(项目)中有两个引用同一个类的分部类。一旦程序集被编译,元数据就被烘焙进去,你的类就不再是部分的了。部分类允许您将同一类的定义拆分为两个文件。
Is it possible to have two partial classes in different assemblies represent the same class?
关于asp.net-mvc - 当 Entity Framework 在单独的库中时模型上的部分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18536845/