2014-01-29 37 views
1

我聲明一個DBContext變量像這樣在我的計劃:如何在.Net控制檯應用程序中實例化Enitity Framework DBContext?

class Program 
{ 
    static MyDataContext context; 

    // ... 
} 

,但我得到了以下錯誤:

The type initializer for 'System.Data.Entity.Internal.AppConfig' threw an exception.

App.Config我的連接字符串中具有相同的名稱爲DBContext變量和作品從一個網絡應用程序。有沒有人看過這個?

如果我實例都在這樣一行:

class Program 
{ 
    static MyDataContext context = new MyDataContext(); 

    // ... 
} 

而不是主:

context = MyDataContext(); 

我得到這個錯誤:

The type initializer for 'NLP.Program' threw an exception.

+1

是否有一個原因,'DbContext'是靜態的? –

+0

是MyDataContext你自己定製的類還是它來自EF?因爲如果你沒有輸入錯誤,就好像它是一個函數而不是一個類('context = MyDataContext();') – walther

+1

檢查InnerException - 類型初始化異常通常意味着靜態構造函數中的錯誤。根據該錯誤,可能會丟失app.config值。 –

回答

0

避免使用上下文這種方式,寧願遵守using一次性資源:

using(MyDataContext context = new MyDataContext(...)) 
{ 
    // ... 
} 

這並不能解決您的問題,而是更好的代碼的第一步。

編輯:刪除簡單的錯誤答案。更好的沒有答案,而不是錯誤的...

+0

但是不回答問題。 –

相關問題