私は次のような状況にあります。私はCustomer
とCompanyCustomerAssignment
オブジェクトを持っています(1:1の関係で)。のプロパティの1つCompanyCustomerAssignment
はですCustomerGroup
。さて、このグループに属するフェッチよりも、渡されQueryOver
たときに-したいのですが、nullになると、すべてにクエリを実行したいと思います。「SQL」では簡単に思えます。CustomerGroup
Customers
...WHERE CustomerGroupId = @param OR @param is NULL;
残念ながら、QueryOverについてcustGrp
はわかりません(パラメータです-オブジェクトまたはnull
)
Customer c = null;
CompanyCustomerAssignment cca = null;
_session.QueryOver<Customer>(() => c)
.JoinAlias(() => c.CompanyCustomerAssignment, () => cca)
.Where(() => cca.Company == currentCompany && c.IsActive == true)
.And(() => cca.CustomerGroup == custGrp || custGrp == null ) // <- this seems to be problem to me
.List()
.Select(x => new CustomerApiModel() {CustomerId = x.Id})
.ToList();
しかし、これは機能しません-そのCustomer
ようなプロパティを持たないメッセージを受け取ります。これは論理的に聞こえますが、まったく役に立ちません。