似ている 2 つのクラスが与えられた場合
public class Blog
{
public virtual int BlogId { get; set; }
public virtual IList<Comment> Comments { get; set; }
}
public class Comment
{
public virtual int CommentId { get; set; }
public virtual Blog Blog { get; set; }
public string Title { get; set; }
}
次のステートメントを使用するのに苦労しています。
session.Query<Blog>.Where(b => b.Comments.FirstOrDefault().Title.Contains("my title")));
スローされるエラーは次のとおりです。
Antlr.Runtime.NoViableAltException
.Any() を使用すると動作します:
session.Query<Blog>.Where(b => b.Comments.Any(c => c.Title.Contains("my title")));
しかし、これは私が望むものではありません。実際には、これはブログやコメントに関するものではなく、バージョン管理されたエンティティに関するものです。親エンティティのマッピングでは、バージョン番号でコレクションを並べ替えます。最新バージョンを入手するには、最初のエントリにアクセスできる必要があります。