我有asp.net mvc2 app,我正在使用Linq2Sql(dbml)。我有3张桌子:
AccountHeaders,AccountDocuments和AccountNumbers
所有这些都有3列,(id(PK),accountID(FK)和accountdate(datetime))。我希望通过这些表中的年份联合(按年分组)在我的视图(年过滤器)中填充SelectList。我是怎么做到的?
答案 0 :(得分:1)
尝试类似的东西:
ctx.AccountHeaders.GroupBy(x=>x.accountdate.Year).Select(x=>x.Key).Union(
ctx.AccountDocuments.GroupBy(x=>x.accountdate.Year).Select(x=>x.Key)).Union(
ctx.AccountNumbers.GroupBy(x=>x.accountdate.Year).Select(x=>x.Key));
如果日期列可以为空,则需要稍微更改一下。还要检查它生成的SQL,可能需要重新编写查询以获得更优的SQL代码。