使用odp.net的Oracle实体框架不在linq查询中获取参数
我行使odp.net在Oracle中行使EntityFramework.参数化的sql查询不起浸染. var orderCode = "XYZ"; var set = ctx.Database.SqlQuery<Order>( "Select * from dwh.Orders where OrderCode = '{0}'",orderCode ); (要么) var set1 = ctx.Database.SqlQuery<Order>( "Select * from dwh.Orders where OrderCode = ':param'",new OracleParameter("param",orderCode) ); Console.WriteLine(set.Count() + "," + set1.Count()); //Gives 0,0 可是,假如我有硬编码值,它就可以了. var set = ctx.Database.SqlQuery<Order>( "Select * from dwh.Orders where OrderCode = 'XYZ'",orderCode ); 有人知道为什么吗?我在该视图中有150列.那是题目吗? 更新: 话虽云云,带有“{0}”的热点查询不起浸染.另外,以下linq查询不起浸染. var set = ctx.Orders.Where(a => a.OrderCode == orderCode); // Gets zero results. 当我对值举办硬编码时,它可以正常事变并获取功效. var set = ctx.Orders.Where(a => a.OrderCode == "XYZ"); // Gets the results correctly. 更新2: 有人有相同的题目吗? 不确定是否截断了您的示例,但假如您行使多个参数,则也许是题目地址:Parameterized query in Oracle trouble
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |