当Entity Framework位于单独的库中时,模型上的部分类

Dar*_*ght 2 asp.net-mvc entity-framework partial-classes

我不确定这是否是正确的方法,如果是这样,请另行通知.

这是一个使用EF 5.x的ASP.Net MVC 4站点

假设您在自己的类库中拥有实体框架.Code Generation Item现已生成所有模型(EF模式的xxx.tt部分)

然后在站点的开发中添加/引用该项目.

您现在可以通过EF访问数据.

现在 - 在站点项目中,我想创建一个我的EF模型的部分类,例如"Users",其中包含一个不在DB中的附加属性.

过去在Web表单项目中,当EF是项目的一部分而不是参考时,我只会创建部分类,一切都会很好; 我的"用户"现在会有一堆其他内容,这些内容与数据库无关,但在"用户"中需要.

我似乎无法在这个MV处于单独项目的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"; }
        }       
    }
}
Run Code Online (Sandbox Code Playgroud)

我也试过继承EF模型类,如下所示:

public partial class Email : MyTestEntity.Entity.Email
{       
    public string OtherEmail {
        get { return "me@myEmail.com"; }
    }       
}
Run Code Online (Sandbox Code Playgroud)

我似乎没有做任何事让我访问"OtherEmail"

我真正希望能够做的是为我的一些模型创建一个部分类,然后让这个部分类实现一个接口,这样我就可以将这个接口的实例注入另一个对象而不是重载.

我在说疯狂的废话吗?

Sco*_*ott 6

在两个不同的程序集(项目)中,不能有两个部分类引用同一个类.编译程序集后,元数据将被烘焙,您的类不再是部分数据.部分类允许您将同一类的定义拆分为两个文件.

是否有可能在不同的程序集中有两个部分类代表同一个类?