Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# linq2db在varchar字段中查找字符串_C#_Linq_Linq2db - Fatal编程技术网

C# linq2db在varchar字段中查找字符串

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,所以它会查找第一个字符。如何克服并使其看起

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

--  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块中添加值,那么一切都正常,但这不是解决方案。