列表中的LINQ to SQL查询数组

时间:2014-02-14 09:00:40

标签: c# sql arrays linq

我想知道是否有人可以帮助我处理一些小问题,我目前有一个项目列表,其中包括列表中的数组(我无能为力,数据是从Web API中提取的),我需要在该列表上运行linq to sql查询以遍历该列表中的数组以比较数组中的值,因此例如我的代码将如下所示:

var query1 = from q1 in datacontext.view
             select q1;

foreach (var item in query1)
{
    try
    {
        var query2 = from q2 in List<>
                     where q2.Array(iterate through the array to find the name)
                             .value = item.Key(is a string)
                     select q2;

        if (query2.count() == 0)
        {
            Do something
        }
        else
        {
            Do something else
        }
    }
}

基本上,当它迭代第一个列表来比较值时,第二个查询中的列表基本上有一个数组内的数组,我需要找到数组的名称(而不是数字)并比较它的值在第一个查询中使用值,希望对某人有意义。

更新:确切代码

List<net.autotask.webservices4.InstalledProduct> CurrentAutotaskSoftware = GetSoftwareAlreadyInAutotask(myService);

            LANSweeperDataContext ldc = new LANSweeperDataContext();

            var licenseKey = from l in ldc.LANSweeper_License_Keys
                             select l;

            foreach (var lssi in licenseKey)
            {

                try
                {
                    var lSLicenseKeys = from c in CurrentAutotaskSoftware
                                        where c.UserDefinedFields.Any(x => x.Value == lssi.License_Key)
                                        select c;



                    if (lSLicenseKeys.Count() == 0)
                    {
                        //AddItemToAutotask(myService, lssi);
                        Console.WriteLine("Adding " + lssi.Product + lssi.License_Key); 
                    }
                    else
                    {
                        //UpdateItemInAutotask(myService, lSLicenseKeys.First(), lssi);
                        Console.WriteLine("Updating with" + lssi.Product + lssi.License_Key);
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            }

1 个答案:

答案 0 :(得分:0)

这就是你想要的吗?

var hasMatch= YourList.Any(x=>x.Value==item.Key);
if(hasMatch)
{
    //Do Something
}
else
{
  //Do Something else
}