【发布时间】:2014-01-03 14:19:42
【问题描述】:
改写问题:
我需要升级到 6.0 实体框架。我使用 EF 6.x 实体对象生成器来创建一个新的上下文。现在,我得到一个语法错误。似乎生成的代码现在生成了一个 ObjectContext 而不是更新的 DBContext。
这是不再有效的代码。
public abstract class Base<T> where T : class {
public static void save(T entity) {
using (var context = new DataContext()) {
context.Entry(entity).Member("Changed_Date").CurrentValue = DateTime.Now;
context.Entry(entity).Member("Changed_User").CurrentValue = userId;
context.SaveChanges();
}
}
}
问题是:条目(在基类中)现在与生成的代码一起使用时会出现编译错误。
数据上下文(sn-ps):
using System;
using System.ComponentModel;
using System.Data.Entity.Core.EntityClient;
using System.Data.Entity.Core.Objects;
using System.Data.Entity.Core.Objects.DataClasses;
using System.Linq;
using System.Runtime.Serialization;
using System.Xml.Serialization;
[assembly: EdmSchemaAttribute()]
#region EDM Relationship Metadata
#endregion
namespace DB
{
public partial class encludeDataContext : ObjectContext
{
}
}
我应该使用哪个生成器?
【问题讨论】:
-
请发布确切的编译器错误信息!
-
谢谢@nemesv:错误 493 'DataContext' 不包含 'Entry' 的定义,并且找不到接受类型为 'DataContext' 的第一个参数的扩展方法 'Entry'(您是否缺少使用指令还是程序集引用?)
-
它是
System.Data.Entity.DbContext的普通成员,请检查(并发布)您的DataContext的定义。 -
检查您的引用是否指向正确的二进制文件。
-
问题是DataContext有482160行!这是 edmx 自动生成的代码。但我在原帖中添加了一个 sn-p。
标签: c# entity-framework dbcontext member