我有一个对两个类(User)有两个引用的类:
public class Xpto {
public string Username { get; set; }
public virtual User User { get; set; }
public string Username2 { get; set; }
public virtual User User2 { get; set; }
}
事情是EF只创建对第一个键(用户名)的引用。这样用户和用户2将用户名作为键,而不是我想要的......
我发现这就是答案:
nHibernate, mapping two properties to the same class
但我不知道如何将其应用到我的场景中。
感谢。
编辑:伙计们,没关系......我想我应该看得更远一点。 答案在这里: How do I create a POCO object that has 2 references to another class
标准为<property_name><key_name>
所以正确的方法是 UserUsername 和 User2Username
感谢。
答案 0 :(得分:1)
考虑使用ForeignKeyAttribute,然后您可以为关键属性选择您喜欢的名称。
public class Xpto {
[ForeignKey("User")]
public string Username { get; set; }
public virtual User User { get; set; }
[ForeignKey("User2")]
public string Username2 { get; set; }
public virtual User User2 { get; set; }
}