2011-06-29 36 views
0
  1. 是否可以在實體框架中實現行級安全性或全局過濾器功能,如nHibernate ORM中的session.filters?我們是否有相同的開源代碼或鏈接?如果是的請分享。實體框架4.0/4.1中的行級安全

  2. 除此之外,如果我們手動實現這樣的過濾器,我們如何動態地爲每個用戶更改過濾器?請分享一些代碼。

  3. 我們可以使用EntityObjects方法或POCO方法或兩者都使用手動過濾器嗎?

回答

0

否 - 沒有全局過濾器。如果你想要它們,你必須將上下文包裝到另一個層中,併爲全局過濾器創建你自己的解決方案。這裏的問題是,即使創建了「過濾器」(=自定義擴展方法),您也必須手動將其應用於查詢,甚至在此之後它僅應用於主查詢,但不適用於急切或惰性加載關係。

+0

感謝拉迪斯拉夫您的回覆,只是想知道如何爲每個用戶動態預先過濾上下文對象,我是否也手動重新定義了導航屬性的過濾器? – vivek

+0

您不需要預過濾對象。您只需爲每個查詢添加特殊的fitler條件,或者將上下文及其集合包裝到另一個圖層,並且它總是會返回已應用過濾器的「IQueryalbe」。在導航的情況下,根本沒有辦法。如果你想過濾導航屬性,你必須完全手動完成它,你不能使用預先加載或延遲加載 - 你必須使用投影到自定義類。 –

+0

嗯有你,但如果懶惰/渴望加載不工作,沒有用來創建包裝和它太複雜手動過濾導航屬性,需要考慮一些另一種方法。感謝您的回覆Ladislav – vivek