gpt4 book ai didi

c# - 使用 LINQ 选择 IN 位置

转载 作者:行者123 更新时间:2023-12-01 20:21:58 25 4
gpt4 key购买 nike

您好,我正在尝试在 LINQ 中使用 IN 条件。

我有以下查询:

select * from unitphotos Where MarketingFileTypeID = 2
AND UnitTypeID in (Select UnitTypeID from unitTypes Where PropertyID = 1)

我认为我无法仅通过一个 LINQ 查询来完成它,所以我这样做了:

var listUnitTypes = (from ut in db.unittypes
where ut.PropertyID == propertyID
select new { ut.UnitTypeID }).ToList();
var getPropertyPhotos = (from up in db.unitphotos
where listUnitTypes.Contains(up.UnitTypeID)
select up).ToList();

但是,它在 Contains(up.UnitTypeID) 中给了我一个语法错误:“参数 1:无法从 'int' 转换为 '匿名类型 int UnitTypeID'

有人知道我做错了什么吗?

谢谢

最佳答案

var getPropertyPhotos = (from up in db.unitphotos
where unittypes.Any(ut => ut.PropertyID == propertyID && ut.UnitTypeId == up.UnitTypeID)
select up).ToList();

我认为这应该可行。还没有尝试过,因为我没有数据库,所以 ymmv。

此外,如果您只是输入 select ut.UnitTypeID,而不是 select new { ut.UnitTypeID },那么您的应该也可以工作

关于c# - 使用 LINQ 选择 IN 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47042582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com