2011-09-09 129 views
0

雖然我問this question,但沒有人能夠解決它。所以我做了一些更多的測試,並確定它存在於我的代碼中。所以我的問題是,我做錯了什麼?如何創建模型容器對象

所以我創建模型容器:

Private mdbContext As PFModelContainer 
Private mdbTransactions As Object 

之前,我就是這麼做的:

Private mdbContext As New PFModelContainer 
Private mdbTransactions As mdbContext.Transactions 

思想也許我做錯了什麼我改變了它在第一種方式,那麼我這樣做:

Public Sub New() 
    mdbContext = New PFModelContainer 
    mdbTransactions = mdbContext.Transactions 
End Sub 

一旦我打mdbContext = New PFModelContainer需要我轉移到PFModel.Designer.vb它通過以下步驟:

Public Sub New() 
    MyBase.New("name=PFModelContainer", "PFModelContainer") 

在哪一點它終止執行的代碼。我在這裏做錯了什麼?

這是它給我立即窗口上的錯誤:

在System.Data.Entity.dll發生 類型「System.ArgumentException」的第一個機會異常

是有什麼我可以做的,使這個錯誤消失?我嘗試刪除該項目並使用舊版.edmx模型重新創建該模型,該模型是我從Mozy下載的舊.edmx模型。在我更改.edmx模型並更新之後,它停止工作(據我所知)。也許我在其他項目中也做過其他事情,但我不記得任何事情。

這是什麼,是在App.config:

<connectionStrings> 
    <add name="PFModelContainer" connectionString="metadata=res://*/PFModel.csdl|res://*/PFModel.ssdl|res://*/PFModel.msl;provider=System.Data.SqlServerCe.3.5;provider connection string=&quot;Data Source=|DataDirectory|\bin\Debug\MyDatabase#1.sdf&quot;" providerName="System.Data.EntityClient" /> 
    </connectionStrings> 

我應該引用System.Data.EntityClientSystem.Data.SqlServerCe.3.5地方嗎?

EDMX屬性Entity Container NamePFModelContainerNamespacePFModel

+0

你的app.config中有'PFModelContainer'連接字符串嗎?如果打開EDMX,你會在屬性窗口中看到容器名稱設置爲「PFModelContainer」嗎? –

+0

我在你的問題底部添加了答案。非常感謝您的幫助!我不知道是否有任何方法可以給你更多的積分,但是如果讓我知道!這非常令人沮喪。看着你的個人資料,我不知道你是否想要額外的積分,但我會很樂意給他們! – Jon49

+0

想通了。我把答案放在[另一篇文章] [1]上。 [1]:http://stackoverflow.com/questions/7209121/system-argumentexception-occurred-in-system-data-entity-dll-for-entity-mybase-n/7409637#7409637 – Jon49

回答

0

OK,事實證明,我需要更新的EDMX模型通過右鍵單擊TT模型和緊迫

Add Code Generation Item 

然後

ADO.NET DbContext Generator 

我假設我以前做過,但我不記得這麼做。

相關問題