日期:2014-05-17  浏览次数:21313 次

EF框架查询提示,值不在预期的范围内
C# code
listEntity = db.ExecuteStoreQuery<Object>("select t.toclientid,t.customname,t.customphone,t.customaddress from jc_goodstoclient t where not exists (select ftc.toclientid from jc_fromreftoclient ftc where ftc.toclientid=t.toclientid and ftc.fromclientid=:fromclientid) and t.status=:status and t.companycode=:companycode and  t.mnemonic=:mnemonic", new System.Data.Objects.ObjectParameter[]{
                        new System.Data.Objects.ObjectParameter ("fromclientid",nvc["FROMCLIENTID"]),
                        new System.Data.Objects.ObjectParameter ("status","1"),
                        new System.Data.Objects.ObjectParameter ("companycode",useEntity.CompanyCode),
                        new System.Data.Objects.ObjectParameter ("mnemonic",nvc["MNEMONIC"])
                    }).Skip(pageSize * (pageNum - 1)).Take(pageSize).ToList<Object>();


以上这个语句提示上面的错误
这个SQL语句我放到ORACLE里去执行没有错误,可以正常查询出数据
不知道为什么报错,这几个参数的值都有

在 Oracle.DataAccess.Client.OracleParameter.set_Value(Object value)
  在 System.Data.Objects.ObjectContext.CreateStoreCommand(String commandText, Object[] parameters)
  在 System.Data.Objects.ObjectContext.ExecuteStoreQueryInternal[TElement](String commandText, String entitySetName, MergeOption mergeOption, Object[] parameters)
  在 System.Data.Objects.ObjectContext.ExecuteStoreQuery[TElement](String commandText, Object[] parameters)

------解决方案--------------------
数据类型有问题?。。。
------解决方案--------------------
比如这个 status
0 or 1?
true or false?

------解决方案--------------------
贴下数据块表呢,看下是不是类型有问题
------解决方案--------------------
new System.Data.Objects.ObjectParameter ("status","1"),

这个 存在转换错误估计。