是否有可能在实体框架6中使用代码优先和注释创建单向多对多关联?例如:实体框架6代码优先 - 通过注释多对多的方式
class Currency
{
public int id { get; set; }
}
class Country
{
public int id { get; set; }
// How i can annotate this property to say EF that it is many-to-many
// and it should create mapping table?
// I don't need navigation property to Country in Currency class!
public virtual IList<Currency> currencies { get; set; }
}
在支持Java + JPA批注我可以实现我所需要的是这样的:
@OneToMany
@JoinTable(name = "MAPPING_TABLE", joinColumns = {
@JoinColumn(name = "THIS_ID", referencedColumnName = "ID")
}, inverseJoinColumns = {
@JoinColumn(name = "OTHER_ID", referencedColumnName = "ID")
})
是这样,EF具有相同的功能?
谢谢......有没有可能只使用注释来执行此配置? – Anton
我认为你可以做的最好的做法是明确建模连接表。因此,将CountryCurrency类与您的其他EF对象一起制作,然后用“ICollection”替换Country对象中的“currency”属性。但是,这存在可用性方面的缺点,因为EF不会为您自动在后台执行JOIN。 –
奇怪的是,没有办法用属性来做到这一点。 EF是一团糟。 – yonexbat