1

電話番号のリスト <> があり、それを db テーブルの対応するレコードと結合して、注文番号と顧客 ID を取得しようとしています。また、リストには番号全体が 1 つの文字列として含まれており、DB では、市外局番、プレフィックス、番号にそれぞれ別のフィールドとして分割されています。

私は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 };
4

1 に答える 1

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)
于 2010-10-13T10:29:00.803 に答える