【发布时间】:2020-05-12 07:48:45
【问题描述】:
我有以下型号
public class A
{
public int Id { get; set; }
public List<B> BData { get; set; }
}
public class B
{
public int Id { get; set; }
public string Name { get; set; }
// Big class with lots of data
}
我的 DbContext 看起来像:
public class EmpSrvDbContext : DbContext
{
public DbSet<A> AData { get; set; }
// ...
}
我有一个 getter 应该返回 B。目前我正在尝试这样做:
B Get(int nAId, string sBName)
{
A foundA = m_dbCtx.AData
.Where(obj => obj.Id == nAId)
.Include(obj => obj.BData)
.FirstOrDefault();
return foundA.BData.FirstOrDefault(obj => obj.Name == sBName);
}
我认为这是低效的,因为对于找到的 A 类,我会加载其所有 B 对象,并且由于 B 是一个大类,因此这是重。
有没有办法只获取A对象的请求B对象,而不包括/加载所有B对象? p>
谢谢,Csaba
【问题讨论】:
标签: c# sql entity-framework