Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linq实体从DateTime获取日期_C#_.net_Linq_Entity Framework - Fatal编程技术网

C# Linq实体从DateTime获取日期

C# Linq实体从DateTime获取日期,c#,.net,linq,entity-framework,C#,.net,Linq,Entity Framework,var islemList=(来自entities.Islemler中的isl,其中(isl.KayitTarihi.Date=dba和&isl.KayitTarihi.Value.Date如果KayitTarihi是数据库中的日期列(dba和dbit是DateTime),则使用: var islemList=(来自entities.Islemler中的isl,其中(isl.KayitTarihi>=dbas&&isl.KayitTarihi).Date属性在Linq to entities中不

var islemList=(来自entities.Islemler中的isl,其中(isl.KayitTarihi.Date=dba和&isl.KayitTarihi.Value.Date如果
KayitTarihi
是数据库中的日期列(dba和dbit是DateTime),则使用:


var islemList=(来自entities.Islemler中的isl,其中(isl.KayitTarihi>=dbas&&isl.KayitTarihi).Date属性在Linq to entities中不受支持(尽管在Linq的其他实现中可能支持)

我知道您只想比较日期,但是如果DBA和dbit值是datetimes和time 00:00:00,那么比较datetimes就没有真正的问题。 您可能需要抵消日期或使用其他不平等性检查来获得适当的时间间隔,但比较将按照您的意愿进行


我个人会使用Jandek的解决方案。

使用。

DBA和dbit的类型是什么?是DateTime吗?KayitTarihi是什么。它的导航属性是什么?如果您的数据类型是DateTime(可为空),请在不使用
.Date
.Value.Date的情况下尝试。KayitTarihi是DateTime,但我只需要DateTry
((可为空)isl.KayitTarihi.Date)
。不确定si LINQ将如何反应。您可以选择修改
dba
dbit
(如果它们没有时间部分),这样您就不必从
KayitTarihi
…where(isl.KayitTarihi>=dba&&isl.KayitTarihi
。请注意,EntityFunctions现在已被弃用,应改用System.Data.Entity.DbFunctions。现在是EF 6之后的版本。实现没有更改,只是将旧函数委托给新函数进行重命名,这样您就可以安全地更新现有代码。从提交消息:“具有旧名称的类基本上只是委托给新类,并且也被标记为过时,以帮助将人们转移到新类中。”EntityFunctions.TruncateTime现在已不推荐使用,而改用DbFunctions.TruncateTime
var islemList = (from isl in entities.Islemler where (isl.KayitTarihi >= dbas && isl.KayitTarihi <= dbit) select isl);