如何摆脱冗余ID?
我有一个userprofile模型 - userprofile有一个连接模型列表。连接模型具有userprofile(拥有连接的userprofile)和userprofile2(userprofile连接到的另一个userprofile)。 在db中的Connections表中,我得到以下列:
| ID |确认| ConnectionType | UserProfile_UserId | UserProfile2_UserId | UserProfile_UserId1 |
此处UserProfile_UserId将始终与UserProfile_UserId1相同。我真的想摆脱额外的ID列。
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
public virtual ICollection<Connection> Connections { get; set; }
}
public class Connection
{
[Key]
public int Id { get; set; }
public bool Confirmed { get; set; }
public byte ConnectionType { get; set; }
public virtual UserProfile UserProfile { get; set; }
public virtual UserProfile UserProfile2 { get; set; }
}
任何帮助都将不胜感激。
答案 0 :(得分:0)
您是否尝试过将自己的属性添加到类中:
public class Connection
{
[Key]
public int Id { get; set; }
public bool Confirmed { get; set; }
public byte ConnectionType { get; set; }
public int UserId {get; set;}
public virtual UserProfile UserProfile { get; set; }
public int UserId2 {get; set;}
public virtual UserProfile UserProfile2 { get; set; }
}
答案 1 :(得分:0)
使用InverseProperty注释解决了这个问题: [InverseProperty(&#34;连接&#34)] public virtual UserProfile UserProfile {get;组; }
这在InverseProperty中描述: http://msdn.microsoft.com/da-dk/data/jj591583.aspx#Relationships