我试图从TblRequisitionMaster(父表)中提取一条记录,并从TblRequestionDetail(子表)中提取isActive==true
条记录。
您的指导将不胜感激...
我正在使用.NET Core 3.1和EF CORE。我需要实体框架的核心解决方法,而不是像EF +这样的第三方工具。
这是我的存储库功能。
public TblRequisitionMaster GetRequisitionMaster(int reqNo, byte companyId)
{
Company_CHLContext context = new Company_CHLContext(companyId);
return context.TblRequisitionMaster.Include(i => i.TblRequestionDetail).SingleOrDefault(s => s.RequestionNo == reqNo && s.RecordStatus.Equals("AC") );
}
类详细信息
public partial class TblRequisitionMaster
{
public TblRequisitionMaster()
{
TblRequestionDetail = new HashSet<TblRequestionDetail>();
}
public int RequestionNo { get; set; }
public string ReqNo { get; set; }
public virtual ICollection<TblRequestionDetail> TblRequestionDetail { get; set; }
}
public partial class TblRequestionDetail
{
public int RequestionNo { get; set; }
public byte SequenceNo { get; set; }
public int ItemId { get; set; }
public bool? IsActive { get; set; }
public virtual TblRequisitionMaster RequestionNoNavigation { get; set; }
}
答案 0 :(得分:1)
包含过滤器仅从EF Core 5开始可用
但是您可以指定Query Filter,它应该开始自动过滤包含的内容。
modelBuilder.Entity<TblRequestionDetail>().HasQueryFilter(d => d.Active == true);
如果您需要检索未过滤的实体,请应用IgnoreQueryFilters运算符。