我有一个类,我想在其中进行Insert
、Update
、Delete
操作。
// Constructor.
public BaseManager()
{
// Disable lazy loading.
this.Context.Configuration.LazyLoadingEnabled = false;
}
public DBEntities Context = new DBEntities();
在这个类中,我不能在 Context
变量上使用 AddObject()
扩展方法。 AddObject()
方法在 Context.
这是我导入的命名空间:
using System;
using System.Collections.Generic;
using System.Data.Linq;
using System.Text;
我能够在 .Net Framework 3.5 中使用它,但无法在 .Net Framework 4.5 上使用
我做错了什么?
更新:
导入 using System.Data.Entity;
或 using System.Data.Objects;
无效。
这是我想使用的方法:http://msdn.microsoft.com/en-us/library/system.data.objects.objectcontext.addobject.aspx
再次更新:
我意识到我的 DEBentities 派生自 .Net Framework 4.5 中的 DbContext
但它派生自 .Net Framework 3.5 中的 ObjectContext
,因此我能够使用 AddObject()
方法。
原始实体类:
public partial class DBEntities : DbContext
{
// ...
}
我想这样做:
public partial class DBEntities : ObjectContext
{
// ...
}
如果我将基类从 DbContext
更改为 ObjectContext
是否会造成任何问题?
最佳答案
展开 YourModel.edmx
文件。你可以在那里看到 4 个文件。删除扩展名为 .tt 的文件。
。然后双击 YourModel.edmx
文件。在 YourModel.edmx
图表窗口中,右键单击并选择 Properties。
在属性窗口中将代码生成策略无设置为默认。
干杯!
关于c# - .Net Framework 4.5 AddObject() 没有出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18523512/