Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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
Linq to sql 可以在Linq到SQL中进行高级搜索吗?_Linq To Sql_Search - Fatal编程技术网

Linq to sql 可以在Linq到SQL中进行高级搜索吗?

Linq to sql 可以在Linq到SQL中进行高级搜索吗?,linq-to-sql,search,Linq To Sql,Search,如果不在动态Linq中使用“LIKE”,那么在尝试创建高级搜索查询时,它实际上对我来说毫无用处 在使用LINQtoSQL时,你们中的任何人如何克服这个高级搜索问题 我需要搜索以下字段类型,它们也可以为空: 列表项 varchar(类似“%”+myText+“%”的列) 文本(类似“%”+myText+“%”的列) DateTime(列>=myDate-当然,如果“myDate”不为空) 整数(列=myInt-当然,如果“myInt”不是null) 布尔值 我也不能只使用ExecuteQuer

如果不在动态Linq中使用“LIKE”,那么在尝试创建高级搜索查询时,它实际上对我来说毫无用处

在使用LINQtoSQL时,你们中的任何人如何克服这个高级搜索问题

我需要搜索以下字段类型,它们也可以为空:

  • 列表项
  • varchar(类似“%”+myText+“%”的列)
  • 文本(类似“%”+myText+“%”的列)
  • DateTime(列>=myDate-当然,如果“myDate”不为空)
  • 整数(列=myInt-当然,如果“myInt”不是null)
  • 布尔值
我也不能只使用ExecuteQuery,因为这样我就不能得到一个真正的“实体”及其所有的关系/关联


我只是不知道如何使用LINQtoSQL实现这一点。我目前没有存储过程,因此如果我能用Linq解决这个问题,我不希望只有一个存储过程。要生成类似的语句,可以使用以下方法:

这将生成此类SQL语句:

SELECT [t0].[Column], ... [t0].[ColumnN]
FROM [Table] AS [t0]
WHERE [t0].[Column] LIKE @p0
@p0参数的值为
%test%”

对于日期和整数比较,如果我正确理解您想要什么,您可以执行以下操作:

DateTime? myDate = new DateTime(2009, 3, 15);
var query = dc.Table.Where(r=> r.DateColumn > myDate || myDate == null );
因此,如果myDate为null,则不会计算条件
DateColumn>myDate

这个问题可能会有所帮助-
DateTime? myDate = new DateTime(2009, 3, 15);
var query = dc.Table.Where(r=> r.DateColumn > myDate || myDate == null );