首先,我将稍微描述一下我的表结构。有两个表,FormField和Field。
字段可以链接到多个表单字段,但表单字段只能包含一个字段。
所以我有这个Linq查询:
var fields = from f in Data.Field.All()
join ff in formfields on f.Field_rid equals ff.Field_rid
select new
{
FormField = ff,
Field = f
};
现在,我需要在那里放一个明显的地方,但我无法弄清楚在哪里。基本上,我不希望同一个Field多次返回给我(所以我从来没有得到重复的字段)。我在哪里使用不同的功能?
答案 0 :(得分:1)
Distinct
有多个formFields
,并希望仅收到不同的field
, fields
似乎对您没有帮助。但是如果你能想到一些方法只能从所有字段的formFields中选择一个formField
,那么就可以轻松完成:
// assumimg that for all fields we want to receive only formField with minimum Field_rid
var fields = Data.Field.All()
.Select(f => new
{
Field = f,
FormField = formFields
.Where(ff => ff.Field_rid == f.Field_rid)
.OrderBy(ff => ff.Field_rid)
.FirstOrDefault(),
});