【问题标题】:linq2db find string in varchar fieldlinq2db 在 varchar 字段中查找字符串
【发布时间】:2016-11-05 18:21:57
【问题描述】:

当我进行复杂查询并尝试过滤掉 varchar 类型列上的数据时,在 sql 代码中转换所需变量的提供程序不在“where”块中,并声明了一个 NVarchar 类型的变量并分配它一个值。并阻止“where”添加对该变量的搜索。

--  SqlServer.2008
DECLARE @cashRegisterNumber NVarChar -- String
SET     @cashRegisterNumber = N'0705311'

因为默认 nvarchar 类型的长度为 1,所以它会查找第一个字符。如何克服,让它看起来全线?

【问题讨论】:

标签: c# linq linq2db


【解决方案1】:

试试Sql.AsSql方法:

var str = "0705311";

...Where(t => t.Field1 == Sql.AsSql(str));

【讨论】:

  • 这行不通。 Converter 错误地声明了字符串类型的变量。如果我们直接在 where 块中添加值,那么一切正常,但这不是解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-11
  • 1970-01-01
  • 2011-07-13
  • 2014-03-26
  • 2016-01-26
相关资源
最近更新 更多