给定以下领域模型:
Dog { Id, Name, Color }
Color { Id, Name }
如何使用 NHibernate.Linq 获取有狗的颜色。在 SQL 中我会
SELECT Color.Id, Color.Name FROM Color
WHERE Id IN
(SELECT DISTINCT Dog.ColorId FROM Dog);
最佳答案
这可能有效:
Colors.Where(c => Dogs.Any(d => d.Color.Equals(c)))
但是,如果您纯粹根据颜色标识符进行匹配,请尝试以下操作:
Colors.Where(c => Dogs.Any(d => d.Color.Id == c.Id))
这些将为您提供狗使用的所有颜色。
关于c# - NHibernate Linq - 如何选择 WHERE IN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7966207/