实体框架代码优先:具有两个外键的表
Posted
技术标签:
【中文标题】实体框架代码优先:具有两个外键的表【英文标题】:Entity Framework Code First: Table with two foreign keys 【发布时间】:2013-02-04 21:49:42 【问题描述】: public class User
[Key]
public int UserId get; set;
public string UserName get; set;
public class Building
[Key]
public int BuildingId get; set;
public string BuildingName get; set;
public class UserBuildings
//these are the foreign keys
public int UserId get; set;
public int BuildingId get; set;
public int BuildingQuantity get; set;
我一直在查看其他带有两个伪造密钥的示例,但它们似乎没有回答我的问题。
在 UserBuildings 表中,需要 UserId 和 BuildingId 才能使 UserBuildings 表中的记录唯一。 (不会有两条记录具有相同的 UserId 和 BuildingId,尽管它们可能具有相同的一条)
【问题讨论】:
【参考方案1】:应该这样做
public class UserResources
[Key, Column(Order=0)]
public int UserId get; set;
[Key, Column(Order=1)]
public int BuildingId get; set;
public string BuildingName get; set;
【讨论】:
感谢您的意见。我之前尝试过这个,但是有一个 SQL 数据库错误,说我不能有两行具有相同值的一列。 澄清:错误是当我有两个具有相同 UserId 但不同 BuildingId 的记录时。但我不希望这给我一个错误以上是关于实体框架代码优先:具有两个外键的表的主要内容,如果未能解决你的问题,请参考以下文章