如何在Linq中解决这个独特的问题?

问题描述

| 首先,我将描述一下我的表结构。有两个表,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
有多个
formFields
,并且只想接收不同的
fields
,那么
Distinct
似乎对您没有帮助。但是,如果您可以考虑从所有字段的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(),});
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...