【发布时间】:2011-08-17 21:25:25
【问题描述】:
您好:我正在使用 devArt 的 Oracle Connect 与 Entity Framework 4.1 POCO 和 Oracle 一起工作。
我对某些 Oracle 列类型为 Char(固定长度)的查询有疑问。生成的 SQL 查询中使用的参数被格式化为 VarChar 而不是 Char,这导致我的查询返回零行。有没有办法强制EntityFramework/DevArt填充参数?
这是一个问题示例(查询用户名)。此代码应该返回行,但它没有。
string aUserName = "Test";
var query = from u in users
where u.UserName == aUserName
select u;
如果我将第一行代码更改为:
string aUserName = "Test".PadRight(20);
然后它就可以工作了(Oracle 列是 Char(20))。我不想做填充(我不必使用 SQL Server)。我可以进行一些配置更改吗?连接字符串开关?我的 POCO 上的一个属性?
【问题讨论】:
-
列是CHAR有什么原因吗?是否可以简单地将其更改为 varchar2?
-
希望我能做到,但这是一个遗留数据库,涉及大量代码和多个安装(我们是 ISV)。所以我必须使用我们已有的模式。
标签: c# oracle entity-framework devart