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