表外键指向两个表中的一个

时间:2017-02-09 12:53:44

标签: entity-framework code-first foreign-key-relationship

这是我的第一篇文章,所以如果我没有遵循正确的程序,请原谅。 另请注意,我本周才开始学习EF-Code First,所以我对它很新,并且不太了解stackoverflow上的所有解决方案。

问题: 我有三个类:用户,租户和仪表板 仪表板只能用于用户或租户。 换句话说,用户具有仪表板并且租户具有仪表板。 用户和仪表板之间始终是一对一的关系。 租户和仪表板也是如此。

如何创建这些关系?

我已经阅读了很多数据注释方法以及流畅的api方法,但我不得不承认我仍然对如何实现这一目标感到茫然。

public class User
{
    [Key]
    public int ID { get; set; }

    public int TenantId { get; set; }
    public virtual Tenant Tenant { get; set; }
}

public class Tenant
{
    [Key]
    public int ID { get; set; }
    public string Name { get; set; }
}

public class Dashboard
{
    [Key]
    public int DashboardId { get; set; }
    public string Description { get; set; }

}

1 个答案:

答案 0 :(得分:0)

以下用户和租户都有一个仪表板

public class User
{
    public int UserId {get; set;}
    public virtual Dashboard Dashboard {get; set;}
}

public class Tenant
{
    public int TenantId {get; set;}
    public string Name {get; set;}
    public virtual Dashboard Dashboard {get; set;}
}

public class Dashboard
{
    public int DashboardId {get; set;}
    public string Description {get; set;}
}