【发布时间】:2010-11-30 06:03:58
【问题描述】:
我的项目“查询”中有一个屏幕,用户可以在其中执行 2 种搜索。我不知道如何在 Linq to entity 中执行“喜欢”或“And or is null”。
- 简单搜索(使用“Like”运算符搜索所有字段)
- 高级高级搜索(使用“与”运算符)
所以让我们拿这 3 张表做一个点头的例子。
- 客户表(客户 ID、姓名、姓氏)
- 地址(AddressID,Street,City)
- CustomerOrder (OrderID,OrderName)
基本搜索: 这就是我在 Sql 中的做法
SELECT TOP (100) C.Name,C.Surname,CA.Street,CA.City,CO.OrderName
FROM Customer C
LEFT JOIN CustomerAddress CA ON C.CustomerID=CA.CustomerID
LEFT JOIN CustomerOrders CO ON C.CustomerID=CA.CustomerID
WHERE (C.CustomerID LIKE '%' + @SearchText + '%'
OR C.Surname LIKE '%' + @SearchText + '%'
OR C.Name LIKE '%' + @SearchText + '%'
OR CA.Street LIKE '%' + @SearchText + '%'
OR CA.City LIKE '%' + @SearchText + '%'
OR CO.OrderName LIKE '%' + @SearchText + '%') )
高级搜索
这是我的 sql where 子句
WHERE (C.CustomerID =@CustomerID or @CustomerID ISNULL
AND C.Surname =@Surname or @Surname ISNULL
AND C.Name=@Name or @Name ISNULL
AND CA.Street =@Street or @Street ISNULL
AND CA.City =@City or @City ISNULL
AND CO.OrderName =@OrderName or @OrderName ISNULL)
AND ((ModifiedDate BETWEEN ISNULL(convert(varchar,@FromDate,101),'01/01/1901')
AND ISNULL(convert(varchar,@ToDate,101),'12/31/9999'))
实体框架中Likes or and or is null怎么办?
非常感谢!
【问题讨论】:
标签: entity-framework