C# linq2db在varchar字段中查找字符串
当我进行复杂查询并尝试过滤varchar类型列上的数据时,在sql代码中转换所需变量的提供程序不在“where”块中,它声明一个NVarchar类型的变量并为其赋值。块“where”添加对该变量的搜索C# linq2db在varchar字段中查找字符串,c#,linq,linq2db,C#,Linq,Linq2db,当我进行复杂查询并尝试过滤varchar类型列上的数据时,在sql代码中转换所需变量的提供程序不在“where”块中,它声明一个NVarchar类型的变量并为其赋值。块“where”添加对该变量的搜索 -- SqlServer.2008 DECLARE @cashRegisterNumber NVarChar -- String SET @cashRegisterNumber = N'0705311' 因为默认nvarchar类型的长度为1,所以它会查找第一个字符。如何克服并使其看起
-- SqlServer.2008
DECLARE @cashRegisterNumber NVarChar -- String
SET @cashRegisterNumber = N'0705311'
因为默认nvarchar类型的长度为1,所以它会查找第一个字符。如何克服并使其看起来完整?尝试Sql.AsSql方法:
var str = "0705311";
...Where(t => t.Field1 == Sql.AsSql(str));
大家好,欢迎来到StackOverflow。请花些时间阅读帮助页面,特别是命名和的部分。更重要的是,请阅读。你可能还想了解,这不是工作。转换器错误地声明了字符串类型的变量。如果我们直接在where块中添加值,那么一切都正常,但这不是解决方案。