Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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# 为什么oData V4不按datetime订购?_C#_Entity Framework_Asp.net Web Api_Odata - Fatal编程技术网

C# 为什么oData V4不按datetime订购?

C# 为什么oData V4不按datetime订购?,c#,entity-framework,asp.net-web-api,odata,C#,Entity Framework,Asp.net Web Api,Odata,我已经用WebAPI2.2和实体框架创建了一个ODataV4端点。公开的模型类似于以下模型: public class Items { public int Id { get; set; } public string Name { get; set; } public DateTime CreatedOn { get; set; } } 当我转到URL:/odata/Items时,它就像一个符咒。但是当我转到URL:/odata/Items?$orderby=Cre

我已经用WebAPI2.2和实体框架创建了一个ODataV4端点。公开的模型类似于以下模型:

public class Items { 
    public int Id { get; set; }
    public string Name { get; set; }
    public DateTime CreatedOn { get; set; }
}
当我转到URL:/odata/Items时,它就像一个符咒。但是当我转到URL:/odata/Items?$orderby=CreatedOn时,我得到以下错误:

LINQ to中不支持指定的类型成员“种类” 实体。仅初始值设定项、实体成员和实体导航 支持属性。”


OData v4不支持日期时间类型。您应该改用DateTimeOffset。这是因为如果不指定时区,可能会发生问题。事实上,无论支持与否,都有一个公开的讨论

请参阅以下参考资料:


如果您检查这些问题,您会发现对DateTime的支持已添加到5.6.0 beta 1版。

这是一个,并且已在中修复,请尝试,如果问题仍然存在,请为我们提交一个问题:)。

我已经看到了该帖子,但我在显示DateTime方面没有问题。端点返回正确的日期时间。但只有当我尝试按datetime下单时,我才会出现此错误。我在那篇文章中错过了这个问题的解决方案吗?Kind是
System.DateTime
上的一个属性,它描述了它是本地的还是UTC的。