LINQ中的SQL YEAR(),MONTH()

时间:2018-08-22 08:57:59

标签: c# .net linq

我一直在寻找几天来解决linq上的sql查询。 这是我的SQL查询([日期]的格式为datatime2):

SELECT [Date], TestingValues 
FROM [SalesValue].[dbo].[TestTable] 
WHERE CONCAT(DATEPART(yyyy,[Date]),DATEPART(MM,[Date])) = '201801'

我的查询看起来像这样,我无法继续。我不知道如何从b_TestTable.Date获取一年零一个月:

string dat = DateTime.ParseExact(dats, "yyyy-MM-dd", CultureInfo.CurrentCulture).ToString("yyyyMM");

var testQuery = (
        from b_TestTable in repos.GetTable<TestTable>() 
        where b_TestTable.Date == dat 
        select b_TestTable.TestingValues)
    .ToArray();

有人可以帮助我查询在linq中的样子吗? 谢谢您的帮助。

1 个答案:

答案 0 :(得分:4)

您可以使用

var dat = DateTime.ParseExact(dats, "yyyy-MM-dd", CultureInfo.CurrentCulture);

var testQuery = (
        from b_TestTable in repos.GetTable<TestTable>() 
        where b_TestTable.Date.Year == dats.Year 
            && b_TestTable.Date.Month == dats.Month 
        select b_TestTable.TestingValues)
    .ToArray();