实体框架,devArt和Oracle VarChar参数

本文关键字:Oracle VarChar 参数 devArt 框架 实体 | 更新日期: 2023-09-27 17:54:21

你好:我正在使用devArt的Oracle Connect与实体框架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上的属性?

实体框架,devArt和Oracle VarChar参数

您有两个选择:
1. 按照您的做法,将用户名字符串变量右填充。
2. 删除空字符-右修剪用户名字段。

其他选项:

string aUserName = "Test";
var query = users.select(x => string.Join(string.Empty, x.UserName).TrimEnd()).
                  where(x => x==aUserName)

(这将返回用户名,而不是整个用户对象)

我们已经在论坛上给你回复了。
如果您对提供的解决方案有任何问题,请通知我们。