無制限の数の名前を持つことができる人物オブジェクトがあります。したがって、名は別のオブジェクトです。
すなわち
人 --- 名前
--- 名前
--- 名前
私がやりたいのは、特定の名前を持つ人を取得する nhiberate クエリを作成することです。
したがって、1 つのクエリでアリソン、ジェーン、フィリッパという名前の人を検索し、次のクエリでアリソン、ジェーンという名前の人を検索することができます。
検索対象のすべての名前を持つ人のみを返したいです。これまでのところ、私は持っています
ICriteria criteria = session.CreateCriteria(typeof (Person));
criteria.CreateAlias("Names", "name");
ICriterion expression = null;
foreach (string name in namesToFind)
{
if (expression == null)
{
expression = Expression.Like("name.Value", "%" + name + "%");
}
else
{
expression = Expression.Or(
expression,
Expression.Like("name.Value", "%" + name + "%"));
}
}
if (expression != null)
criteria.Add(expression);
しかし、これは、すべての名前ではなく、検索している名前のいずれかを持つすべての人を返しています。
誰でもこれで私を助けることができますか? ありがとう!