【发布时间】:2014-02-13 10:26:01
【问题描述】:
我有一个名为Recipes 的表,其中每行包含一个食谱。我还有一张名为RecipeIngredients 的表,其中包含特定配方使用的一种成分。因此,每个Recipe 行都有一个或多个子RecipeIngredients 行。
我要做的是创建一个查询来查找包含所需成分列表中任何成分的所有食谱。例如,向我展示所有使用面粉、鸡蛋或香蕉的食谱。
SQL 看起来像这样:
SELECT * FROM Recipes r
WHERE EXISTS (select 1 from RecipeIngredients where RecipeId = r.RecipeId and IngredientId = ANY (5, 10, 15) limit 1);
但是,我很难弄清楚如何将其表达为 LINQ 查询,或使用 .QueryOver<T> 方法。我不想在 SQL 中硬编码,因为这需要与数据库无关,我希望配置的 NHibernate 方言生成正确的代码。
有什么想法吗?
【问题讨论】:
标签: c# sql linq nhibernate fluent-nhibernate