0
SQLクエリをLINQに変換する際に問題があります。どのようにLINQ where節でcaseステートメントを作成しますか?ここに私の現在のSQLクエリがあります。SQLクエリの変換LINQ
ALTER PROCEDURE [dbo].[CustomerBySearch]
@FirstName VARCHAR(255) = '',
@LastName VARCHAR(255) = '',
@Email VARCHAR(255) = '',
@Phone VARCHAR(30) = ''
AS
BEGIN
SELECT CustomerId,
Title,
FirstName,
LastName,
RegistrationDate,
DayPhone,
Mobile,
LoginEmail
FROM CustomerInfo
HAVING CASE WHEN @FirstName = '' THEN @FirstName ELSE FirstName END Like @FirstName + '%'
AND
CASE WHEN @LastName = '' THEN @LastName ELSE LastName END Like @LastName + '%'
AND
CASE WHEN @Email = '' THEN @Email ELSE LoginEmail END Like @Email
AND
(
CASE WHEN @Phone = '' THEN @Phone ELSE DayPhone END LIKE '%' + @Phone
OR
CASE WHEN @Phone = '' THEN @Phone ELSE Mobile END LIKE '%' + @Phone
)
ORDER BY CustomerId DESC
END