Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/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
如何在LINQ中从具有多个ID的记录中查询名称_Linq_Join_One To Many - Fatal编程技术网

如何在LINQ中从具有多个ID的记录中查询名称

如何在LINQ中从具有多个ID的记录中查询名称,linq,join,one-to-many,Linq,Join,One To Many,我有一个表[a],其中包含CreatedBy(ID)、AuthorizedBy(ID)、SentTo(ID)等列,我需要将它们连接到一个包含用户名(UserID、FullName)的表[B]。如何编写一个连接,将表a的每条记录连接到表B中的多条记录,以使用LINQ填写CreatedBy/AuthorizedBy/SentTo名称?可以尝试如下,基本上您必须用a连接B三次 form a in A join b in B on b.Id = a.Createdby join b1 in B on

我有一个表[a],其中包含CreatedBy(ID)、AuthorizedBy(ID)、SentTo(ID)等列,我需要将它们连接到一个包含用户名(UserID、FullName)的表[B]。如何编写一个连接,将表a的每条记录连接到表B中的多条记录,以使用LINQ填写CreatedBy/AuthorizedBy/SentTo名称?

可以尝试如下,基本上您必须用a连接B三次

form a in A
 join b in B on b.Id = a.Createdby
 join b1 in B on b1.Id = a.Authrizedby
 join b2 in B on b2.Id = a.SentTo
select new {
   a.Id,
   CreatedBy= b.FullName,
   AuthorizedBy = b1.FullName,
   SentTo=  b2.FullName};


这对你有用吗?你可以添加更多的细节,包括代码。请在此查看如何提出好问题:
   from a in A 
   select new {
   a.ID
   CreatedBy= b.FirstOrDefault(a.CreatedBy== b.Id).FullName,
   AuthorizedBy = b.FirstOrDefault(a.AuthorizedBy== b.Id).FullName,
   SentTo= b.FirstOrDefault(a.SentTo== b.Id).FullName
   }