如何使用LINQ </string>将List <string>与DB Table进行比较

时间:2010-10-13 10:17:34

标签: c# linq-to-sql generic-list

我有一个列表&lt;&gt;电话号码,我试图加入与数据库表中相应的记录,并获得订单号和客户ID。此外,列表将整数作为一个字符串,数据库将其分解为区号,前缀,数字作为单独的字段。

我对LINQ很新,所以这超出了我目前所知的范围。任何建议都非常感谢。

var tnbrs = new List<string>();

尝试过:

    var tntable = tnbrs.Cast<DataSet>();  

    var tntable = tnbrs.AsQueryble();<code>

    var custdata = from c in db.CUSTs  
               join t in tntable on c.NPA + c.NXX + c.LINE_NBR equals t.???  
               select new { c.PON, c.PartnerID };

1 个答案:

答案 0 :(得分:1)

您不必将tnbrs转换为数据集 试试这个

var custdata = from c in db.CUSTs  
               where tnbrs.Contains(c.NPA + c.NXX + c.LINE_NBR)
               select new { c.PON, c.PartnerID };

它生成类似这样的SQL查询

SELECT [t0].[PON], [t0].[PartnerID]
FROM [dbo].[CUSTs  ] AS [t0]
WHERE [t0].[NPA]) + [t0].[Nxx] + [t0].[LINE_NBR] IN (@p0, @p1)