我有一个父/子关系映射多对多集.
public class Parent
{
public ISet<Child> Children { get; set; }
}
public class Child {}
public class ParentMap : ClassMap<Parent>
{
HasManyToMany(x => x.Children)
.AsSet();
}
Run Code Online (Sandbox Code Playgroud)
如何编写查询以选择包含给定子项的所有父项?我会猜到它会是这样的,但这个API不存在:
Session.CreateCriteria<Parent>()
.Add(Expression.Contains("Children", child)
.List<Parent>();
Run Code Online (Sandbox Code Playgroud)
我不能为我的生活在任何地方找到答案.我的大脑今天没有完全运作,谷歌到目前为止还没有让我失望.
这样的事怎么样?
Session.CreateCriteria<Parent>()
.CreateCriteria("Children")
.Add(Expression.Eq("Id", child.Id)
.List<Parent>();
Run Code Online (Sandbox Code Playgroud)
要么
Session.CreateCriteria<Parent>()
.CreateCriteria("Children")
.Add(Expression.In("Id", child.Id)
.List<Parent>();
Run Code Online (Sandbox Code Playgroud)
所以你可以传入一组ID.
| 归档时间: |
|
| 查看次数: |
6668 次 |
| 最近记录: |