我有一个课程,我想在其中进行Insert
,Update
,Delete
操作。
// Constructor.
public BaseManager()
{
// Disable lazy loading.
this.Context.Configuration.LazyLoadingEnabled = false;
}
public DBEntities Context = new DBEntities();
在本课程中,我无法在AddObject()
变量上使用Context
扩展方法。在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
再次更新
我意识到我的DBEntities来自.Net Framework 4.5中的DbContext
,但它源自.Net Framework 3.5中的ObjectContext
,所以我能够使用AddObject()
方法。< / p>
原始实体类:
public partial class DBEntities : DbContext
{
// ...
}
我想这样做:
public partial class DBEntities : ObjectContext
{
// ...
}
如果我将基类从DbContext
更改为ObjectContext
是否构成任何问题?
答案 0 :(得分:8)
展开YourModel.edmx
文件。你可以在那里看到4个文件。使用.tt extension.
删除文件。然后双击YourModel.edmx
文件。在YourModel.edmx
图表窗口中右键单击并选择Properties.
在属性窗口中将代码生成策略无设置为默认。
干杯!!
答案 1 :(得分:1)
AddObject
存在于容器内的每个实体上。
Context.TableName.AddObject(New TableElement...)