我正在使用实体框架 4.3。
我有一个名为 Lender 的用户实体 - 一个贷方有许多借贷层。还有许多其他实体与贷方相关联,但为了清楚起见,我将保持结构简单。
我需要做的是返回一个贷方,但只有一个基于某些标准的匹配层,换句话说,层的扁平结构。
我不确定如何在一个声明中做到这一点 - 任何人都可以帮忙吗?
我正在使用实体框架 4.3。
我有一个名为 Lender 的用户实体 - 一个贷方有许多借贷层。还有许多其他实体与贷方相关联,但为了清楚起见,我将保持结构简单。
我需要做的是返回一个贷方,但只有一个基于某些标准的匹配层,换句话说,层的扁平结构。
我不确定如何在一个声明中做到这一点 - 任何人都可以帮忙吗?
您的“ Tier 的扁平结构”的含义对我来说有点暗,但也许您正在寻找如下投影:
var lenderWithTier = context.Lenders
.Where(l => l.Something == something) // lender filter
.Select(l => new
{
Lender = l,
Tier = l.Tiers
.Where(t => t.SomethingElse == somethingElse) // tier filter
.FirstOrDefault() // only one tier
})
.FirstOrDefault();
lenderWithTier
是一个匿名对象,它具有一个lenderWithTier.Lender
属性和一个lenderWithTier.Tier
作为单个Tier
对象的属性(或者null
如果与贷方相关的层均不匹配层过滤器)。