Привет У меня есть массив Featureset Id, Мой автомобиль таблица имеет вспомогательный стол как FeatureSets я написал SQL запросов, какLinqToSql Sub Entiity Multiple И Операторы
SELECT [t0].[ID]
FROM [dbo].[SearchResultView] AS [t0]
Join [dbo].[VehicleFeatureSet] AS [t1] on t0.ID = t1.VehicleID
where t1.FeatureSetID = 1 and t1.FeatureSetID= 2 and t1.FeatureSetID= 3
Я пытался. не Но я могу
var features = Request.QueryString["FeatureSets"].Split(',').ToList().ConvertAll(new Converter<string, int>(StrinToint));
IQueryable<SearchResultView> result = db.SearchResultViews.Where(m => m.Active == true);
foreach (var featuree in features)
{
result = result.Where(m => m.VehicleFeatureSets.Any(c => c.FeatureSetID == featuree));
}
Как я могу написать это LINQ Query
Как указано в Mattytommo, ваш SQL-запрос содержит предикат, который всегда является ложным ('t1.FeatureSetID = 1 и ...'). Самое смешное, я думаю, что ваш linq делает именно то, чего вы хотите достичь, но, разумеется, произведенный SQL отличается. Я думаю, что он содержит 'EXISTS', но он должен содержать их. Это в предположении, что вы хотите, чтобы записи «SearchResultView» имели _both_ 1 _and_ 2 _and_ 3 в их «VehicleFeatureSet». –