私は2つのエンティティがあります。私は、Web APIコントローラ内のポートフォリオデータを取得する場合、私が行うことができます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; }
}
を:dbSet.Include(a=>a.Organization)
を関連Org
データをロードします。 Orgの中からこのルックアップを "逆"する方法がありますか?Orgに外来キーを持っているすべてのPortfolio
をロードするには?
プロパティを追加すると、ループ参照無限ループが発生します。2つのエンティティが互いに相互参照するためです。
私は、データを取得する方法はこれです:それは組織にポートフォリオのリストを追加するのと同じくらい簡単なはず
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)
あなたは組織クラスのプロパティ一覧を作成することができます。 –