簡體   English   中英

c#實體框架“無法解析符號”

[英]c# Entity Framework “Cannot resolve symbol”

我使用實體框架4創建了一個示例項目。這非常簡單,我通過從數據庫中選擇EF Designer創建了一個新的數據模型。 創建數據連接並從數據庫中選擇所有表。 看起來不錯-我可以在設計器中看到表格。

問題是我無法添加或刪除對象。 我的數據庫類看起來像這樣:

namespace DBAccess
{
    public class DatabaseAccess : IDisposable
    {
        private MyDBModel dbModel;

        public DatabaseAccess ()
        {
            dbModel= new MyDBModel();
        }

        public Accounts AddAccount()
        {
            var A = new Accounts();
            dbModel.Accounts.AddObject(a); // here's the "Cannot resolve symbol 'AddObject'" error
        }

        public void DeleteAccount(Accounts a)
        {
            dbModel.DeleteObject(a); // here's the "Cannot resolve symbol 'DeleteObject'" error
        }
    }
}

為什么我不能使用這些方法? 我以前在其他項目中使用過它們。

這是App.config文件中的連接字符串:

<connectionStrings>
<add name="MyDBModel" connectionString="metadata=res://*/MyDBModel.csdl|res://*/MyDBModel.ssdl|res://*/MyDBModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=MyServer;initial catalog=MyDB;persist security info=True;user id=MyUser;password=MyPassword;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

好的,我找到了解決方案,盡管我不確定這是否合適。

我在Microsoft網站http://msdn.microsoft.com/zh-cn/data/jj556581.aspx上找到了這篇文章

我的數據模型上的設置不同。 Code Generation Strategy我具有T4Legacy ObjectContext 它設置為T4 ,我將其更改為Legacy ObjectContext 然后,在.edmx文件下,刪除兩個擴展名為.tt文件。 就我而言,它們是MyDBModel.Context.ttMyDBModel.tt

重建了整個解決方案,現在就可以使用。

希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM