我的 MySQL 查询如下,可以在 SQL 中正常运行。我需要将其转换为 LINQ 语法。
SQL-
SELECT [Key], Id
FROM LocalizationKeys AS lk
WHERE NOT EXISTS (SELECT 1
FROM Languages AS l
JOIN LocalizationValues AS lv ON l.Id = lv.LanguageId
WHERE l.Title = 'en-US' AND lv.LocalizationKeyId = lk.Id)
我尝试过的LINQ语法
var result =
(from lk in localizationKey
where !(from l in lang
join lv in localizationValue on l.Id equals lv.LanguageId
where l.Title == "en-US" && lv.LocalizationKeyId == lk.Id select 1).FirstOrDefault()
select lk).ToList();
出现错误:
运算符“!”不能应用于类型为“int”的操作数
我犯了哪个错误?
FirstOrDefault() == null
。 - Alex Art..FirstOrDefault().Any()
- 在使用Any()
之前不需要先使用FirstOrDefault()
,直接使用.Any()
即可。 - Alex Art.