关于DataService中主键查询中含有小数的问题。
原代码:var catstore = db.CDS_CateStore
.Where(p => p.Cat_ID == item.Key.Cat_ID
&& p.Drs_ID == this.DS_ID
&& p.DSal_DBatNo == item.Key.DrPS_BatchNo
&& p.StoPrice == item.Key.Dins_Price
)
原URI:http://localhost:1984/DataSvc.svc/CDS_CateStore(Cat_ID='110101',Drs_ID='xx00',DSal_DBatNo='2312123',StoPrice=3.0000M)
产生问题:
“/”应用程序中的服务器错误。
无法找到资源。
说明: HTTP 404。您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。
请求的 URL: /DataSvc.svc/CDS_CateStore(Cat_ID='110101',Drs_ID='xx00',DSal_DBatNo='2312123',StoPrice=3.0000M)
版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.17929
=================
修改后代码:var catstore = db.CDS_CateStore
.Where(p => p.Cat_ID == item.Key.Cat_ID
&& p.Drs_ID == this.DS_ID
&& p.DSal_DBatNo == item.Key.DrPS_BatchNo
&& p.StoPrice == item.Key.Dins_Price
&& 1==1 //仅仅在此处增加了一个表达式即可
)
修改后URI:http://localhost:1984/DataSvc.svc/CDS_CateStore()?$filter=true and ((((Cat_ID eq '110101') and (Drs_ID eq 'xx00')) and (DSal_DBatNo eq '2312123')) and (StoPrice eq 3.0000M))
结果:OK
原代码:var catstore = db.CDS_CateStore
.Where(p => p.Cat_ID == item.Key.Cat_ID
&& p.Drs_ID == this.DS_ID
&& p.DSal_DBatNo == item.Key.DrPS_BatchNo
&& p.StoPrice == item.Key.Dins_Price
)
原URI:http://localhost:1984/DataSvc.svc/CDS_CateStore(Cat_ID='110101',Drs_ID='xx00',DSal_DBatNo='2312123',StoPrice=3.0000M)
产生问题:
“/”应用程序中的服务器错误。
无法找到资源。
说明: HTTP 404。您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。
请求的 URL: /DataSvc.svc/CDS_CateStore(Cat_ID='110101',Drs_ID='xx00',DSal_DBatNo='2312123',StoPrice=3.0000M)
版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.17929
=================
修改后代码:var catstore = db.CDS_CateStore
.Where(p => p.Cat_ID == item.Key.Cat_ID
&& p.Drs_ID == this.DS_ID
&& p.DSal_DBatNo == item.Key.DrPS_BatchNo
&& p.StoPrice == item.Key.Dins_Price
&& 1==1 //仅仅在此处增加了一个表达式即可
)
修改后URI:http://localhost:1984/DataSvc.svc/CDS_CateStore()?$filter=true and ((((Cat_ID eq '110101') and (Drs_ID eq 'xx00')) and (DSal_DBatNo eq '2312123')) and (StoPrice eq 3.0000M))
结果:OK