繁体   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