これで良い例が見つかりませんので、分離基準の使い方をよく理解できます。最初は)。Nhibernate - 切り離された基準(nhibernate 2のasp.net mvc 1)で詰まっています。C#
私は2つのテーブルを持っています。 配置と配置スペシャリスト
私のPlacementSupervisorテーブルにはPlacement.PlacementIDに関連するPlacementIDのFKがありますが、nhibernateモデルクラスにはPlacementSupervisorがあります。プレースメント(プレースメントIDのプロパティを具体的に指定するのではなく、これが重要かどうかはわかりません)。
私がしようとしているのは、スーパーバイザーIDの値が渡された場合、そのスーパーバイザーIDでプレースメントを制限したいということです。
を試してみました。まず(sup.supervisorId = 5とsup.supervisorTypeId = U)
: はに一致基準情報提供者を見つけることができませんでした:ちょうど私のエラーを与える
ICriteria query = m_PlacementRepository.QueryAlias("p")
....
if (criteria.SupervisorId > 0 && !string.IsNullOrEmpty(criteria.SupervisorTypeId))
{
DetachedCriteria entityQuery = DetachedCriteria.For<PlacementSupervisor>("sup")
.Add(Restrictions.And(
Restrictions.Eq("sup.supervisorId", criteria.SupervisorId),
Restrictions.Eq("sup.supervisorTypeId", criteria.SupervisorTypeId)
))
.SetProjection(Projections.ProjectionList()
.AddPropertyAlias("Placement.PlacementId", "PlacementId")
);
query.Add(Subqueries.PropertyIn("p.PlacementId", entityQuery));
}
をsupervisorTypeIdは文字列です。 第2に、私がしようとしていることを達成する方法を理解していないので、投影法とプロパティエイリアスとサブクエリオプションのさまざまな組み合わせを試しています。私は別のものにどのように加わるべきなのか分かりませんFKキーが2番目のテーブルに置かれているときにテーブル/エンティティとなります。
誰かが私を正しい方向に向けることができますか?データの観点からすれば、私はちょうど何かを明らかにしていないことがうまくいけば、それは簡単なことだと思う!!一般
DBモデル、オブジェクト、マッピングを表示できますか? – Sly