1

我有一个 LINQ 查询。我不太了解LINQ。我正在研究实体框架。我必须根据输入日期 (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

类似上面的东西。我试过这个,但它不起作用。请看一下这段代码。

代码

     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();

抱歉,首先,我认为存在一对一的关系。但是您的实体具有一对多的关系。您的代码是正确的,只需添加

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