2013-08-30 30 views
8

我有一个类,我想要使Insert,Update,Delete操作。.net框架4.5 AddObject()不出现

// 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框架4.5

我做错了吗?

UPDATE:

导入using System.Data.Entity;using System.Data.Objects;不工作。

这里是我想使用方法:http://msdn.microsoft.com/en-us/library/system.data.objects.objectcontext.addobject.aspx

再次更新:

我意识到,我的DBEntities从DbContext:在.NET框架4.5派生,但它是从ObjectContext在.Net框架推导3.5,所以我能够使用AddObject()的方法。

原始的实体类:

public partial class DBEntities : DbContext 
    { 
     // ... 
    } 

我想做的事情是这样的:

public partial class DBEntities : ObjectContext 
    { 
     // ... 
    } 

如果我改变从DbContextObjectContext基类不构成任何问题吗?

+0

我想你需要'使用System.Data.Entity;' –

+0

我已经尝试过,但不起作用。 – JustWork

+0

也许:'使用System.Data.Objects;' –

回答

1

AddObject存在于您的容器内的每个实体上。

Context.TableName.AddObject(New TableElement...) 
+0

这不是我想要实现的。我不想在那里指定表名。这里是我想要使用的方法:http://msdn.microsoft.com/en-us/library/system.data.objects.objectcontext.addobject.aspx – JustWork

+0

然后添加上面提到的命名空间'sa_ddam'。 – OneFineDay

8

展开YourModel.edmx文件。您可以在那里看到4个文件。使用.tt extension.删除文件。然后双击YourModel.edmx文件。在YourModel.edmx图窗口点击右键并选择Properties.

在设置代码生成策略默认属性窗口。

Screenshot

干杯!

+1

它正在工作!酷!:) – StepUp

+0

解决了我的问题。谢谢! – Loganj99