asp.net-mvc - 当 Entity Framework 在单独的库中时模型上的部分类

标签 asp.net-mvc entity-framework partial-classes

我不确定这是否是正确的方法,如果是这样,请提出不同意见。

这是一个使用 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/

相关文章:

c# - 逐步更新 ASP.NET MVC 中的模型

jquery - 在 ASP.NET MVC 中显示 Json 错误消息

javascript - Knockout.js - 在下拉列表中设置属性,而不永久绑定(bind)到模型

entity-framework - 带有 EF Core 2.1 和 Sql Server 的时间戳?

sql - 如何适应不经常运行但资源密集型的 Azure SQL 查询

c# - 支持/反对使用部分类进行测试的原因?

c# - 如何使用 Asp.Net MVC C# 创建 CMS 应用程序

c# - 使用 Linq 不存在

c# - 我可以从另一个部分类调用一个部分类中定义的函数吗?是否可以?

c# - 是否可以向部分类中的属性添加属性?