EF4:找不到AutoDetectChangesEnabled

时间:2013-12-10 13:12:49

标签: asp.net entity-framework entity-framework-4

我很奇怪。我读到context.Configuration.AutoDetectChangesEnabled = false;并决定使用它。 但我找不到它。代码是

using (DefaultCS db = new DefaultCS())
        {
            db.Configuration.AutoDetectChangesEnabled = false;
            order.OrderTables = TableNo;
            order.OrderMenus = oMenu;
            db.Orders.AddObject(order);
            db.SaveChanges();
        }

我在db.Configuration遇到了ROS.DefaultCS does not contain a definition for 'Configuration' and no extension method 'Configuration' accepting a first argument of type 'ROS.DefaultCS' could be found (are you missing a using directive or an assembly reference?)

的错误 我错过了什么? 我正在使用EF4。

1 个答案:

答案 0 :(得分:4)

答案如下:在实体框架4中,我们应该使用db.Orders.MergeOption = MergeOption.NoTracking;而不是db.Configuration.AutoDetectChangesEnabled = false;,这仅适用于实体框架5.

EF4和EF5的代码

在EF4中

db.Orders.MergeOption = MergeOption.NoTracking;

在EF5中

db.Configuration.AutoDetectChangesEnabled = false;

EF4的降级是为每个实体设置它。