使用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
(编辑:ASP站长) 【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。 |
-
无相关信息