-1

我們在MVC 3和EF(我認爲4.1)中爲我們的Web商店創建了一個原型。 EF模型已創建從EF遷移到存儲過程

原來我們的CTO希望所有生產SQL都使用存儲過程執行,以避免暴露表名稱和字段。

有沒有人有關於如何引入存儲過程並對我的C#/ EF代碼造成最小干擾的建議?

回答

1

可以將它們作爲函數導入導入到EDMX模型中,並使用映射函數將它們映射到實體的插入/更新/刪除。

如果您在存儲過程中的任何自定義的行爲,您可以執行使用SP ExecuteFunction

你不應該有實體層以上沒有多大影響,但要注意,EF是什麼參數它非常不靈活都想存儲過程與

http://msdn.microsoft.com/en-us/library/bb896231.aspx

+0

定義我瞭解導入的SP到EDMX。我感到困惑的地方是我如何將它們映射到行爲上?或者,我是否必須手動將ExecuteFunction調用替換爲所有實體 - 對象調用? – 2012-08-02 19:27:54

+0

將插入,更新,刪除直接映射到EDMX中的實體。對於select,您將SP的結果映射到該實體,並在您的上下文中調用該函數以生成結果列表。有關Exaples,請參閱http://weblogs.asp.net/dotnetstories/archive/2011/03/01/using-stored-procedures-with-entity-framework-in-an-asp-net-application.aspx。 – podiluska 2012-08-02 19:32:30

+0

我開始明白了。我必須回到文檔,但這有很大幫助。謝謝! – 2012-08-02 19:48:20