我有一个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
根据此表定义,如果输入日期类似于11-11-2012,则输出应该是,
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值的可能性。
谢谢,
答案 0 :(得分: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();