Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我怎样才能找到电子邮件地址?C_C#_.net_Linq - Fatal编程技术网

C# 我怎样才能找到电子邮件地址?C

C# 我怎样才能找到电子邮件地址?C,c#,.net,linq,C#,.net,Linq,样本数据: 这是我的代码: var query = memberModels.Join(emailAddModels, member => member.Id, email => email.Id, (member, email) => new {

样本数据:

这是我的代码:

var query = memberModels.Join(emailAddModels,
                        member => member.Id,
                        email => email.Id,
                        (member, email) => new
                        {
                            member.FName,
                            member.LName,
                            member.MobileNumber,
                            member.LandlineNumber,
                            member.WorkNumber,
                            email.EmailAddress
                        });
                    dgReports.ItemsSource = query.ToList();
                    dgReports.Columns[0].Header = "First Name";
                    dgReports.Columns[1].Header = "Last Name";
                    dgReports.Columns[2].Header = "Mobile Number";
                    dgReports.Columns[3].Header = "Landline Number";
                    dgReports.Columns[4].Header = "Work Number";
                    dgReports.Columns[5].Header = "Email Address";
我如何与同一用户联系电子邮件地址

样本:

------------------------------------------------------------------
|juan|dela cruz|99999|12345|67890|juan@gmail.com, juan2@gmail.com |
------------------------------------------------------------------

所以我得到上面显示的输出。请提供帮助。

您可以通过以下GroupJoin实现此目的:

var query = memberModels.GroupJoin(emailModels, m => m.Id, e => e.Id, (m, emailCollection) => new
            {
                FName= m.FName,
                LName = m.LName,
                MobileNumber = m.MobileNumber,
                LandlineNumber = m.LandlineNumber,
                WorkNumber = m.WorkNumber,
                emailCollection = emailCollection
                //emails = string.Join(", ", emailCollection.ToList().Select(e => e.EmailAddress) ).ToList() // you can not use string.Join directly on query, so need to do either ToList or AsEnumerable.
            }).AsEnumerable().Select(a => new 
            {
                FName = a.FName,
                LName = a.LName,
                MobileNumber = a.MobileNumber,
                LandlineNumber = a.LandlineNumber,
                WorkNumber = a.WorkNumber,
                EmailAddress = string.Join(", ", a.emailCollection.Select(e => e.EmailAddress))
            });
dgReports.ItemsSource = query.ToList(); // just assign query to ItemSource if dgReports.ItemSource accepts Enumerable (like dgReports.ItemSource = query)


改为使用Selectmeber=>new{meber stuff,…,EmailAddress=string.Join,emailAddModels.where e=>e.Id=meber.Id.Selecte=>e.EmailAddress}@Selvin我不明白。你能详细说明一下吗?哪一部分你不懂?全部。。我还不习惯林克对不起。@Selvin“e”是从哪里来的?
var query = memberModels.GroupJoin(emailModels, m => m.Id, e => e.Id, (member, emailCollection) => new
    {
        member, emailCollection
        //FName= m.FName,
        //LName = m.LName,
        //MobileNumber = m.MobileNumber,
        //LandlineNumber = m.LandlineNumber,
        //WorkNumber = m.WorkNumber,
        //emailCollection = emailCollection
        //emails = string.Join(", ", emailCollection.ToList().Select(e => e.EmailAddress) ).ToList() // you can not use string.Join directly on query, so need to do either ToList or AsEnumerable.
    }).AsEnumerable().Select(a => new 
    {
        FName = a.member.FName,
        LName = a.member.LName,
        MobileNumber = a.member.MobileNumber,
        LandlineNumber = a.member.LandlineNumber,
        WorkNumber = a.member.WorkNumber,
        EmailAddress = string.Join(", ", a.emailCollection.Select(e => e.EmailAddress))
    });
dgReports.ItemsSource = query.ToList(); // just assign query to ItemSource if dgReports.ItemSource accepts Enumerable (like dgReports.ItemSource = query)