2013-08-30 29 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