所以我想這很簡單,但出於某種原因,我無法找到答案。我的問題是我以前使用從ObjectContext繼承的EF 4.3.1上下文,並且自動生成總是創建一個重載的構造函數,該構造函數接受連接字符串作爲參數。提供連接字符串到EF 5.0型號
現在我試圖切換到EF 5.0,我不得不使用DbContext版本。但是從DbContext繼承的MyEntities只有無參數的構造函數可用。我想我可以自己添加重載的構造函數,並調用base(connectionString),但對自動生成的文件進行手動更改看起來像是一個冒險的業務。
那麼如何創建MyEntities的實例,該實例使用我在運行時提供的連接字符串?
這不是真正的「自動生成」,即使你使用的EF電動工具進行反向工程的模式上課,至少在一個'EDMX'的意義,當任何改變設計師重新創建你的所有類。現在它生成一次。理論上,映射和上下文代碼可以全部手寫,所以IMO可以自由添加第二個構造函數。這不僅僅是一個答案,也許別人有更好的主意。 :) –
至少該文件在MyEntities.Context.tt下顯示爲MyEntities.Context.cs,甚至有警告說該文件是在文件開頭自動生成的,並且手動更改將被覆蓋。 – bobblez
啊,所以你使用T4代。那麼也許,是的,我真的不能說任何明確的因爲我從來沒有使用T4模板。如果你使用純粹的'代碼'版本的映射(無論是Code-First還是Database-First,都沒關係),那麼我認爲沒有理由不去修改它。 –