C# 如何使用LINQ使用另一个列表中的数据构建列表

C# 如何使用LINQ使用另一个列表中的数据构建列表,c#,linq,C#,Linq,我有一些包含一个或多个Guid的列表 var getMyfirstListGuids = (from dlist in db.MyTable where dlist.id == theid select dlist).ToList(); List<MyfirstList> myfirstList = new List<MyfirstList>(); foreach (var item in myLandingPageList) { Guid t

我有一些包含一个或多个Guid的列表

var getMyfirstListGuids = (from dlist in db.MyTable
    where dlist.id == theid
    select dlist).ToList();

List<MyfirstList> myfirstList = new List<MyfirstList>();

foreach (var item in myLandingPageList)
{
    Guid theguid = new Guid(item.guid);
    MyfirstList addnewRow = new MyfirstList();
    addnewRow.LpGuid = new Guid(theguid);
    myfirstList.Add(addnewRow);
} 
var getMyfirstListGuids=(来自db.MyTable中的dlist
其中dlist.id==theid
选择dlist).ToList();
List myfirstList=新列表();
foreach(页面列表中的变量项)
{
Guid theguid=新Guid(item.Guid);
MyfirstList addnewRow=新建MyfirstList();
addnewRow.LpGuid=新Guid(theguid);
myfirstList.Add(addnewRow);
} 
现在我有了一个包含1个或多个guid的列表。 我的下一步是通过第一个列表GUID使用SQL中的数据创建列表。
在SQL中,每个guid可以有一行或多行。有了一行结果,我就可以猜到该做什么了。但是如果有很多结果,我就不知道了。

好吧,你想这样做:

List<SecondListGUID> secondListGUID = new List<SecondListGUID>();
foreach (var item in myfirstList)
{
    for(int i = 0; i<_yourDBEntity.GUIDs.Count(); i++)
    {
        if(item.LpGuid == _yourDBEntity.GUIDs[i].GUID)
        secondListGUID.add(
            new SecondListGUID() {
                // add the corresponding GUID's here 
        });
    }
}
List secondListGUID=new List();
foreach(myfirstList中的变量项)
{

对于(int i=0;i好的,那么你想这样做:

List<SecondListGUID> secondListGUID = new List<SecondListGUID>();
foreach (var item in myfirstList)
{
    for(int i = 0; i<_yourDBEntity.GUIDs.Count(); i++)
    {
        if(item.LpGuid == _yourDBEntity.GUIDs[i].GUID)
        secondListGUID.add(
            new SecondListGUID() {
                // add the corresponding GUID's here 
        });
    }
}
List secondListGUID=new List();
foreach(myfirstList中的变量项)
{
对于(inti=0;i你可以试试这个

List<Guid>getMyfirstListGuids =  new List<Guid>();

getMyfirstListGuids.addRange(from dlist in db.MyTable
    where dlist.id == theid
    select dlist).ToList());

List<MySecList> mySecList = new List<MySecList>();

mySecList.AddRange(_db.myLandingPageList.Where(p => p.Guid.Any(x => getMyfirstListGuids.Contains(x));
ListgetMyfirstListGuids=new List();
getMyfirstListGuids.addRange(来自db.MyTable中的dlist
其中dlist.id==theid
选择dlist).ToList();
List myselist=new List();
AddRange(_db.myLandingPageList.Where(p=>p.Guid.Any(x=>getMyfirstListGuids.Contains(x));
您可以试试这个

List<Guid>getMyfirstListGuids =  new List<Guid>();

getMyfirstListGuids.addRange(from dlist in db.MyTable
    where dlist.id == theid
    select dlist).ToList());

List<MySecList> mySecList = new List<MySecList>();

mySecList.AddRange(_db.myLandingPageList.Where(p => p.Guid.Any(x => getMyfirstListGuids.Contains(x));
ListgetMyfirstListGuids=new List();
getMyfirstListGuids.addRange(来自db.MyTable中的dlist
其中dlist.id==theid
选择dlist).ToList();
List myselist=new List();
AddRange(_db.myLandingPageList.Where(p=>p.Guid.Any(x=>getMyfirstListGuids.Contains(x));

我不明白问题是什么。你能详细说明一下吗?@Elidotnet你是否试图通过比较myfirstList的GUID与数据库中的GUID,以及它们匹配的位置来构建一个新列表,以将项目添加到新列表中?或者我有一个包含大量GUID的列表(xxxx-xxxxxx-xxx…)。我创建了构建该列表的foreach函数。现在我想创建一个新的列表和foreach函数,用给定的GUID从数据库中添加行。@User987 yesright@Elidotnet我已经给你提供了一个答案。看看吧,我不明白问题是什么。你能详细说明一下吗?@Elidotnet你想通过比较g的myfirstList来建立一个新的列表吗UID与数据库中的UID,以及它们匹配的位置,以将项目添加到新列表中,或者?我有一个包含大量GUID的列表(xxxx-xxxxxx-xxx…)。我创建了构建该列表的foreach函数。现在我想创建一个新的列表和foreach函数,用给定的GUID从数据库中添加行。@User987 yesright@Elidotnet我已经给你提供了答案,看看