Si *_*Thu 5 c# linq entity-framework
我有资源和资源详细信息。MemberPoint 带有memberId 和ResourceId。
我想获取会员的资源详细信息。
在 SQL 中,
Select d.* From ResourceDetails d Inner Join
Resource on r d.ResourceId = r.Id Inner Join
MemberPoint mp on r.id = mp.ResourceId
where mp.memberId = 1
Run Code Online (Sandbox Code Playgroud)
在英孚,
var query = _context.ResourceDetails
.Include(d => d.Resource)
.Include(r => r.Resource.Memberpoints)
.Where(e => e.Resource.Memberpoints.Where(m => m.MemberId))
Run Code Online (Sandbox Code Playgroud)
当我写上面的 EF 查询时出现错误。
错误:System.Linq.IQueryable 的未知方法“Where(?)”
小智 2
您可以尝试使用这种方式包含:
var query = _context.MemberPoint.Include("Resource.ResourceDetails")
.Where(m => m.MemberId == 111111);
Run Code Online (Sandbox Code Playgroud)
或者尝试加入 resourceId 并选择包含您需要的数据的匿名类型:
var query = (from m in _context.MemberPoint
join rd in _context.ResourceDetails on m.ResourceId equals rd.ResourceId
where m.MemberId == 11111
select new
{
Member = m,
ResourceDetail = rd
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9492 次 |
| 最近记录: |