01 |
Сообщение об ошибке: |
|
03 |
Появляется при попытке использовать напрямую в LINQ-запросах свойства объектов с типом Date: |
|
04 | VB.NET |
1 Dim views As Statistic = db.Statistics.SingleOrDefault(Function(s) s.Date = Now.Date) |
|
05 |
Это связано с тем, что Entity Framework не умеет переводить свойства объектов с типом Date в SQL-запрос, и поэтому генерирует исключение. |
|
06 |
Чтобы решить проблему необходимо, во-первых, использовать переменную с типом Date, с заранее присвоенным значением, а во-вторых, воспользоваться функцией TruncateTime(): |
|
07 | VB.NET |
1 2 Dim today As Date = Now.Date
Dim views As Statistic = db.Statistics.SingleOrDefault(Function(s) DbFunctions.TruncateTime(s.Date) = today) |
|
08 | На заметку: |
При использовании Entity Framework ниже версии 6, функция TruncateTime() принадлежит классу EntityFunctions, который включен в .NET Framework (4.5+). Класс DbFunctions был введен в Entity Framework 6, который поставляется отдельно от .NET Framework. В новых приложениях использующих EF 6+ необходимо использовать класс DbFunctions.
|
|
10 |
Похожие запросы:
|
|