0
首先,我需要在EF Code First中定义“多对多”自引用。不幸的是,这不是Breeze支持的。我的意思是每当我查询微风时,我的Friends
的扩展数据都没有。看到这里:Self-referencing many-to-many relationship EF code firstBreeze不会在“多对一”对象引用中扩展我的导航属性
因此,解决方案似乎是“多对一对多”。
因此,这里是我的课:
public class Person
{
public int Id { get; set; }
public string Firstname { get; set; }
public string Lastname { get; set; }
public virtual List<LinkedPerson> Friends { get; set; }
}
public class LinkedPerson
{
[Key, Column(Order = 0)]
public int PersonId { get; set; }
[Key, Column(Order = 1)]
public int PersonRelatedId { get; set; }
public virtual Person Person { get; set; }
public virtual Person PersonRelated { get; set; }
}
具有以下EF流利的API:
modelBuilder.Entity<LinkedPerson>()
.HasRequired(p => p.Person)
.WithMany()
.WillCascadeOnDelete(false);
在运行时,成功生成的数据库,但我仍然无法查询微风检索朋友的财产。因此,除了Friends属性,我在我的查询中获得了所有数据。
有人有一个想法如何实现这一点?
谢谢。
非常感谢你,那就是我所需要的。 – Bronzato