當我有兩個實體:EntityFrameworkCore:如何使用ForeignKey反向查找實體?
public class Org : BaseEntity, IEntityBase
{
public string Name { get; set; }
}
public class Portfolio : BaseEntity, IEntityBase
{
public string Name { get; set; }
public int OrganizationId { get; set; }
[ForeignKey("OrganizationId")]
public virtual Org Organization { get; set; }
public bool IsPrivate { get; set; }
}
當我取回網頁API控制器內部投資組合數據,我可以這樣做:dbSet.Include(a=>a.Organization)
加載相關Org
數據。有沒有一種方法可以從Org中「反轉」這種查找(加載所有Portfolio
的外鍵到被查看的Org)?
當我添加一個List<Portfolio> Portfolios {get;set;}
屬性時,我遇到了循環引用無盡循環:我假設因爲兩個實體相互引用。
我檢索數據的方式是這樣的:
public virtual IEnumerable<T> AllIncluding(params Expression<Func<T, object>>[] includeProperties)
{
IQueryable<T> query = _context.Set<T>();
foreach (var includeProperty in includeProperties)
{
query = query.Include(includeProperty);
}
return query.AsEnumerable();
}
OrgRepo.AllIncluding(a=>a.Portfolios)
您可以創建在組織類的屬性列表。 –