获取linq查询中给定todate和fromdate的记录



我有以下clientdetails表

** cligenate (varchar(50))

07/26/2013 一个07/25/2013 b07/24/2013 c07/23/2013 d07/22/2013 e * *

假设我的todate(DateTime)是07/22/2013,fromDate(DateTime)是07/24/2013

结果将是

** cligenate (varchar(50))

07/24/2013 c07/23/2013 d07/22/2013 e * *

i want Linq query

我已经尝试了以下代码,但给出了一个错误消息

var Result = 
    (from a in Context.CliientDetails.AsEnumerable()
     where a.cliUserName == SalesEmail 
         && DateTime.Parse(a.cliGenDate)>=todate 
         && DateTime.Parse(a.cliGenDate)>=FromDate
     select new NewClientReg_BusinessLayer.Models.viewClientDetails
     {
        cliGenDate = a.cliGenDate,
        cliAckNo = a.cliAckNo,
        cliFullName = a.cliFullName,
        cliTopic = a.cliTopic,
        cliCourse = a.cliCourse,
        cliDomain = a.cliDomain,
        cliTotalInvest = a.cliTotalInvest
    });

,但它给出以下错误信息字符串未被识别为有效的日期时间。

尝试使用DateTime。ParseExact代替DateTime.Parse

var provider = CultureInfo.InvariantCulture;
然后

 && DateTime.ParseExact(a.clieGenDate, "dd/MM/yyyy", provider) >= todate

现在好问题是:为什么要将日期存储为varchar ?

您可能知道使用.AsEnumerable(),您将在应用where子句之前检索所有数据?

你至少可以做

from a in Context.CliientDetails.Where(c => c.cliUserName == SalesEmal).AsEnumerable()
...

相关内容

  • 没有找到相关文章

最新更新