[英]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="data source=MyServer;initial catalog=MyDB;persist security info=True;user id=MyUser;password=MyPassword;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
好的,我找到了解決方案,盡管我不確定這是否合適。
我在Microsoft網站http://msdn.microsoft.com/zh-cn/data/jj556581.aspx上找到了這篇文章
我的數據模型上的設置不同。 在Code Generation Strategy
我具有T4
和Legacy ObjectContext
。 它設置為T4
,我將其更改為Legacy ObjectContext
。 然后,在.edmx
文件下,刪除兩個擴展名為.tt
文件。 就我而言,它們是MyDBModel.Context.tt
和MyDBModel.tt
。
重建了整個解決方案,現在就可以使用。
希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.