实体框架codefirst 1到很多关系

时间:2018-01-26 14:28:45

标签: c# asp.net-mvc entity-framework ef-code-first

使用codefirst方法,我希望有一个CODE_YESNO表,它将有两列C_CODE(1)和C_DESC(5)两种类型的字符串。

然后我想把它引用到我的其他表格中。

例如,假设我有USERS和PRODUCTS表

对于USERS表我会有userIsActive(外键C_CODE) 对于PRODUCTS表我将有productIsOnDiscount(外键C_CODE)

我不想在CODE_YESNO表上添加或修改

那么如何使用代码优先方法呢?

1 个答案:

答案 0 :(得分:2)

就个人而言,如果只是是/否,我会使用布尔值。但更一般地说,您可以轻松实现查找表。

public class YesNo
{
    [Key]
    public string C_CODE { get; set; }
    public string C_DESC { get; set; }
}

然后您的课程通过导航属性引用:

public class User
{
    public int UserId { get; set; }
    public string UserName { get; set; }

    public string UserIsActiveCode { get; set; }
    [ForeignKey("UserIsActiveCode")]
    public YesNo UserIsActive { get; set; }
}

public class Product
{
    public int ProductId { get; set; }
    public string ProductName { get; set; }

    public string ProductIsOnDiscountCode { get; set; }
    [ForeignKey("ProductIsOnDiscountCode")]
    public YesNo ProductIsOnDiscount { get; set; }
}