2012-01-06 99 views
2

我們必須在我們的環境中處理生產和測試連接字符串。數據庫第一解實體框架 - 如何修改生成的基礎構造函數(DBContext)

我有一個非常挑剔的客戶端,不滿意的事實是您可以使用第二個構造函數創建帶有參數的部分類,或者使用空參數構造函數從指定的Entities類繼承。

他聲稱開發人員可能在不知不覺中使用基礎構造函數。

有沒有什麼辦法可以修改生成的構造函數,或者設置一個選項,以便基礎構造函數不會生成,所以我們可以編寫自己的?

謝謝!

+1

我相信你可以使用T4模板之一併編輯它,這將改變生成的代碼。 – user1231231412 2012-01-06 14:20:29

回答

3

如果您使用T4模板進行上下文生成,您可以執行任何您想要的操作。例如:

  • 讓你的背景下密封
  • 從生成的上下文類
  • 刪除部分keywork定義要直接在模板的構造

你需要做的唯一的事情就是修改ModelName.Context.tt模板。

無論如何,你的客戶應該專注於業務需求,而不是愚蠢地假設編碼。

他聲稱開發人員可能在不知不覺中使用基礎構造函數。

我聲稱這可能發生,但如果您的應用程序已正確測試並且您爲新團隊成員或初級開發人員進行代碼審查,那麼這不是問題。

+1

我不認爲客戶的要求是「愚蠢的假設」。這聽起來對我來說是很好的設計。 – Sam 2013-07-09 01:13:44