2011-11-04 77 views
0

在我的客戶端,數據庫用戶只有執行存儲過程的權限。在實體框架中實現安全性

數據庫用戶無權直接執行查詢。

但我已經使用了實體框架,並沒有使用存儲過程。

我該怎麼辦?

回答

0

實體框架允許您將每個實體映射到一組將執行插入,刪除和更新的存儲過程。

這樣,用戶不必在修改數據庫中的數據時直接執行查詢。

如果用戶還沒有選擇權限,則需要存儲過程來訪問數據。實體框架可以幫助您,因爲您可以在EDMX的SSDL部分導入Stored Procedures,然後可以將這些存儲過程映射到ObjectContext上的函數。

+0

我們如何做到這一點?任何使用完整的鏈接? –

1

在這種情況下,最好直接使用原生SQL + ADO.NET。 EF的主要功能是映射,linq/ESQL查詢和加載策略。一旦你被限制在存儲過程中,你將失去對後兩者的支持=不查詢和不加載策略。您仍然會支持映射,但它會帶來性能成本,並且會要求嚴格限制您的存儲過程。