我目前動態構造查詢,像這樣:如何使用QueryOver過濾特定的類?
QueryOver<Base, Base> q = QueryOver.Of<Base>();
if (foo != null) q = q.Where(b => b.Foo == foo);
// ...
現在有多個映射的子類Base
(如Derived
),我想過濾,基本上是這樣的:
if (bar) q = q.Where(b => b is Derived); // does not work
或:
if (bar) q = q.Where(b => b.DiscriminatorColumn == 'derived'); // dito
我該如何最好地實現這一點,最好 - 但不是必須 - 在類型sa fe way?這也可以使用LINQ來完成嗎?
真的很好。我之前必須使用這些限制,因爲我不知道這個構造。 –