1

LINQ クエリが 1 つあります。私はLINQについてあまり知りません。私はEntity Frameworkに取り組んでいました。入力日 (CDate) に基づいてレコードを取得する必要があります。このような構造になっているとします。

          Table A                                Table B

       Id          CDate                   Id            No         A_Id

       1          11-11-2012                1            1001         1
       2          11-11-2012                2            1002         1
       3          12-12-2012                3            1003         2

このテーブル定義に基づいて、入力日付が 2012 年 11 月 11 日などの場合、出力は次のようになります。

    Table B

    Id        No

     1        1001
     2        1002
     3        1003

上記のようなもの。私はこれを試しましたが、うまくいきません。Plsはこのコードを見てください。

コード

     var model = (from x in Db.TableB
                  where x.TableA.CDate == 'Input Value'    // 11-11-2012
                         select new ViewModel
                         {
                         }).Tolist();

適切な入力日付の Distinct 値を取得するコードを記述できる可能性を教えてください。

ありがとう、

4

1 に答える 1

3

このようなものが欲しいですか?

var model = (from x in Db.TableB
     join y in Db.TableB on x.ID equals y.ID
     where x.TableA.CDate == 'Input Value' //11.11.2012
     select new  
     {  
         x.ID,
         y.No 
     }).ToList();

出力:

Id        No

 1        1001
 2        1002

アップデート

var model = (from x in Db.TableB
            where x.TableA.CDate == 'Input Value' //11.11.2012
            select new  
            {  
                x.ID,
                x.No 
            }).ToList();

すみません、最初は1対1の関係だと思っていました。ただし、エンティティには一対多の関係があります。あなたのコードは正しいです、追加するだけです

select new  
{  
     x.ID,
     x.No 
}).ToList();
于 2012-12-07T13:25:25.553 に答える