C# WCF WebApi IQueryable不';无法使用日期时间属性
我无法按DateTime属性查询任何对象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
公共类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") };