LINQ to Entities does not recognize the method 'System.DateTime Parse(System.String)' method

前端 未结 2 886
-上瘾入骨i
-上瘾入骨i 2021-01-25 09:51

I\'m a newbie to Linq and the below query keeps returning \"does not recognize System.DateTime\" error. I\'ve tried Parse and Convert and neither works. Here\'s my query:

2条回答
  •  醉话见心
    2021-01-25 10:45

    Just parse the date outside of your query. Or use the constructor to create the date without even parsing it (you know the values already it seems.

    DateTime start = DateTime.Parse("10/01/2011");
    DateTime emd = DateTime.Parse(04/30/2012);
    
    var query = from c.....
    

    Or use:

    DateTime start = new DateTime(2011, 10, 01);
    DateTime end = new DateTime(2012, 04, 30);
    
    var query = from c.....
    

    You can also safely parse the string in the projection part of your query, since that part is executed on the client side after the data has been retrieved. so

    var query = from c...
    select
        new {
            EligibilityDate = Datetime.Parse(c.EligibilityDate)
        }
    

    It's only when the parsed value is needed in the selection criteria, when you need to supply it as a DateTime value.

    A better solution, by far, is to fix the database schema, or even just add a calculated column to the existing schema which does the parsing on the server and exposes the correct Typed column.

提交回复
热议问题