2010-09-01 88 views
0

我看了一下來自MS的EF 4(實體框架)。MS EF 4和SPROC

我理解它用於將層邏輯分離爲DAL。

在EF 4中,我看到可以爲查詢數據庫創建代碼,查詢存儲在DAL中。

我的問題是使用EF 4與SPROC的好處是什麼?

對我來說,從EF 4調用SPROC似乎沒有保持層之間的明確分工。

關於EF 4和SPROC最佳實踐主題的任何'陷阱'?

非常感謝你們的支持!

回答

1

有幾個原因可能導致您想要將EF與存儲過程配合使用。首先,你公司的數據庫管理員可能需要所有存儲過程(這是一個不同的辯論,但不幸的是,有時你沒有給出選擇) - 在這種情況下,使用帶有存儲過程的EF仍然允許你使用豐富的映射框架並節省自己從寫一大堆代碼連接列到屬性。

另外,像EF這樣的ORM非常適合建模典型的CRUD操作。但是,您可能有一個非常複雜的查詢,它比使用EF查詢更容易使用直接SQL進行建模。在這種情況下,sproc也是可取的(並且仍然利用EF映射功能)。

+0

您好史蒂夫,感謝您的評論,你知道EF 4是否有針對SQL INJECTION的功能嗎?謝謝 – GibboK 2010-09-01 10:34:09

+0

是的,EF會通過內部參數化SQL中的變量來自動防範SQL注入。 – 2010-09-01 11:12:56

+0

再次感謝! – GibboK 2010-09-01 11:43:22