本文介绍了在SQL Server [Linq]中以逗号分隔的值联接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在与LINQ一起提问以加入li.如何获得具有3种表组合的结果表?我必须将表格合并成一行.有什么想法吗?

I am writing a question with LINQ to join li. How do I get the result table with 3 table combinations? I have to combine the table in one line.Any ideas?

Peole
---------------
Id     | 1            Id      |2
Name   | David        Name    |Ameyy
Surname| David1       Surname |Ameyy2


Appointment
---------------
Id        |19
PeopleId  |1
Subject   |description


Participant
---------------
Id            |1       Id             |2
AppointmentId |19      AppointmentId  |19
PeopleId      |1       PeopleId       |2

Result
----------------------------------
Id         | 1
Subject    | Subject
Participant| David David1, Ameyy Ameyy2

Linq查询;

    IQueryable<AppointmentPoolModel> query = db.Randevu.Join(db.Kisi,
              appointment => appointment .TALEPEDENKISI,
              people=> people.ID,
              (appointment , people)
              => new AppointmentPoolModel
                {
                   Id = appointment.ID,
                   Subject = appointment.Subject,
                   Note = appointment .NOTLAR,
                   NameSurname = people.Name+ " " + people.Surname,
                   RequestedId = people.ID,
                   //Participan = string.Join(",", )
                });


   var result = query.OrderBy(appointment => randevu.AppointmentStartDate).ToList();

推荐答案

您可以尝试一下.

var qPeoples = Participants.Join(Peoples,
                    pr => pr.PeopleId,
                    pe => pe.Id,
                    (pr, pe) => new { Part = pr, People = pe });

var result = Appointments.Select(app => new
    {
        app.Id,
        app.Subject,
        Participant = String.Join(",", qPeoples.Where(q => q.Part.AppointmentId == app.Id)
                                                .Select(s => new
                                                    { FullName = String.Format( "{0} {1}"
                                                        , s.People.Name, s.People.Surname ) } ) )
    }).ToList();

这篇关于在SQL Server [Linq]中以逗号分隔的值联接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-30 03:49