c# - 如何首先在数据库中扩展类 ASP MVC 5

标签 c# asp.net asp.net-mvc

在代码优先的数据库中——类可以抽象,有注解和扩展。示例:

public abstract class Person
{
    public int ID { get; set; }
    [Display(Name = "Last Name")]
    public string LastName { get; set; }
    public string FirstMidName { get; set; }

    public string FullName
    {
        get
        {
            return LastName + ", " + FirstMidName;
        }
    }

子类可以继承抽象类并进一步扩展它。示例:

public class Instructor : Person
{
    public DateTime HireDate { get; set; }

    public virtual ICollection<Course> Courses { get; set; }
    public virtual OfficeAssignment OfficeAssignment { get; set; }
}

子类在代码中的引用与抽象类无异

首先在数据库中你不能修改类。是否有可能通过 Database First 项目完成上述任务。是否有关于如何操作的示例或链接?

最佳答案

首先在数据库中,EF 创建的每个类都是部分的(例如“public partial class Country”)。所以最好的方法是创建另一个具有相同名称和部分关键字的类,并在第二类中添加你想要的任何东西!。好处是,如果您更改数据库并通过 EF 重新创建类,第二个类将保持不变,因此您的扩展始终存在。

关于c# - 如何首先在数据库中扩展类 ASP MVC 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33619236/

相关文章:

asp.net - 将字典绑定(bind)到 GridView

c# - C# 中单个按钮有两个操作的弹出消息

c# - 如何在 GroupPrincipal 上设置 ManagedBy 属性

c# - 如何将 PresentationFramework.Aero 主题添加到 ResourceDictionary

c# - 动态切换到无cookie session 状态asp.net?

c# - ASP.NET MVC 日期时间范围

c# - 谁能一眼就告诉我为什么这个 Action 这么慢?

c# - 如何验证字段不为空

c# - 迷你 MVC 探查器 : appears to be displaying profile times for every static resource

c# - 没有声明的 Asp.net Identity 2.x