Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.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# WCF WebApi IQueryable不';无法使用日期时间属性_C#_Linq_Web Services_Iqueryable_Wcf Web Api - Fatal编程技术网

C# WCF WebApi IQueryable不';无法使用日期时间属性

C# WCF WebApi IQueryable不';无法使用日期时间属性,c#,linq,web-services,iqueryable,wcf-web-api,C#,Linq,Web Services,Iqueryable,Wcf Web Api,我无法按DateTime属性查询任何对象 公共类MyModel { 公共int Id{get;set;} 公共日期时间时间戳{get;set;} } [服务合同] 公共类BuildJobApi { [WebGet] 公共IQueryable GetMyModels() { return _service.GetMyModels();//IQueryable } } 我尝试使用WCF WebApi v0.5.0和0.6.0,这两个版本都会抛出错误消息 以下是由WebApi生成的URL,用于按Id

我无法按DateTime属性查询任何对象

公共类MyModel
{
公共int Id{get;set;}
公共日期时间时间戳{get;set;}
}
[服务合同]
公共类BuildJobApi
{
[WebGet]
公共IQueryable GetMyModels()
{
return _service.GetMyModels();//IQueryable
}
}
我尝试使用WCF WebApi v0.5.0和0.6.0,这两个版本都会抛出错误消息

以下是由WebApi生成的URL,用于按Id(works)进行查询:

以下是按时间戳查询生成的URL(无效):

我还可以按日期查询部件(工程):

确切的错误消息是500/内部服务器错误。我谨此致辞:

The server encountered an error processing the request. See server logs for more details.

Q:是否可以在不单独查询每个部分的情况下查询日期时间属性?

尝试避免序列化
DateTime
,请使用字符串

例如:


“o”
用于ISO 8601格式(区域性不变、稳定格式)。

标记为DataContract的是
MyModel
,DateTime属性是时间戳是否正确?它没有标记为DataContract。TimeStamp是属性的名称(在本演示中),DateTime是类型。它应该是DataContract。至于时间戳——当然是:)。我在类中添加了[DataContract],在每个属性中添加了[DataMember]。我仍然收到相同的异常。是否续订服务引用?查看服务器日志了解更多详细信息:这是否提供了线索?好吧,已经几个月了,我仍然无法解决这个问题。我相信DateTime可能不支持IQueryable。我已经修改了iquirable方法,将datetime作为字符串接受。
/api/models?$filter=TimeStamp ge DateTime'2012-02-22T00:00:00'
/api/models?$filter=(year(ExceptionDateTime) eq 2012)
The server encountered an error processing the request. See server logs for more details.
public class MyModel
{
    public int Id { get; set; }
    public string TimeStamp { get; set; }
}

new MyModel { Id = 123, TimeStamp = DateTime.Now.ToString("o") };