我要編寫和使用某種標準API的Silverlight項目通過複雜的動態請求WCF服務使用NHibernate的CriteriaAPI。是否有可能端口,並在Silverlight WCF以上
起初,我想過使用QueryObject,如: UserQuery {INT? AgeMin;詮釋? AgeMax;字符串NameContains;字符串NameStartWith;}等如果某些屬性不是空的,我們使用某種過濾器,但邏輯運算符呢? (和或)我沒有辦法使用QueryObject指定這個邏輯。
因此,我打算用謂詞構建器編寫某種標準API,它將AND和OR表達式結合起來,但我已經在服務器端使用NHibernate標準API,爲什麼不把它從Silverlight類庫中的Nhibernate中解壓出來呢?我沒有在Internet上找到關於在Silverlight中使用NHibernate標準API的證據,這有點奇怪,不可能將其從Nhibernate中剔除,或者它沒有任何意義?爲什麼不使用?對我來說,這看起來是一個很好的解決方案,比編寫自己的API更好。
表達式樹肯定是不長的路要走,安全風險大很多,你可以在樹中的任意MethodCall表達,所以它的basycaly遠程代碼執行。 –
@亞歷克斯:好點。我會修改我的答案 –