linq汇总来自多个表的数据

时间:2019-09-25 17:05:45

标签: entity-framework linq linq-to-sql

我有5张桌子

ChildInfo,FatherInfo,MotherInfo,GuardianInfo和提供的服务。

ChildInfo表具有3列DataAtAge1,DataAtAge2,DataAtAge3。

ChildInfo表还具有“主要联系人”列,其类型可能为M(母亲)F(父亲)G(监护人)

Childinfo表也具有MotherId,FatherId,GuardianId列。

除此之外,ServiceProvided表还具有ChildId,该表将其链接到ChildInfo,并具有提供给Children的医疗服务的日期和文本。 ServiceProvided具有一列servicetype,用于存储给定的帮助类型。

我面临的挑战是在单个linq查询中

我需要将所有ChildInfo以及DataAtAge1,DataAtAge2,DataAtAge3列显示为用逗号分隔的单个属性值, 如果PrimaryContact为M,则需要使用ChildInfo中的MotherID从MotherInfo中选择详细信息,对于F或G都是相同的

最后,我需要基于childId查询ServicesProvided并将每个服务类型显示为属性,并且该类型的所有服务均以逗号分隔。

因此,从此: enter image description here

我正在寻找对象列表,其中每个对象都具有这种结构

childid,childfirstname,childlastname,childdisability(disability1〜5的集合),PrimaryContactName,PrimaryContactAddress,ServiceType,ServiceDetails(将serviceprovidedto和注释作为单个字符串列出)。

主要联系人只有1个,但可以提供0个或具有多种服务类型的多种服务。

我根本无法在单个查询中执行此操作。有人可以帮忙还是可以指点一下?

0 个答案:

没有答案