【发布时间】:2021-12-19 16:34:15
【问题描述】:
我正在尝试将 SQL Server 存储过程迁移到 LINQ,但当我有一个需要在主表中找到的部分匹配列表时遇到了困难。
简而言之,我需要将以下 SQL 复制到 LINQ 中。任何帮助将不胜感激。
SQL
DECLARE @filters TABLE([filter] NVARCHAR(20))
INSERT INTO @filters VALUES ('Den%');
INSERT INTO @filters VALUES ('%zil');
INSERT INTO @filters VALUES ('%la%');
SELECT c.*
FROM [Northwind].[dbo].[Customers] c
INNER JOIN @filters f ON c.Country LIKE (f.filter)
ORDER BY Country
C#
var filters = new string[] { "Den*", "*zil", "*la*" };
var results = from C in ctx.Customers
join f in filters c.Country like f
Select new
{
c.CustomerId,
c.Country
};
【问题讨论】:
-
我假设您意识到 country = 'Denlazil" 的行将返回 3 行?
标签: c# linq .net-core entity-framework-core