2013-01-21 138 views
1

我有實體實例(北)ADO.NET實體數據模型(實體對象)

NorthdatabaseEntity north = new NorthdatabaseEntity() 

的問題是,我不訪問ObjectContext的方法。我試圖用對象「北」來調用它們,但我沒有找到方法「AddObject」或任何其他ObjectContext。 我認爲任何實體對象都具有ObjectContext類的所有方法。

問題在哪裏?

+0

你使用VS2012嗎? – HichemSeeSharp

+0

只有上下文對象負責管理實體。 – HichemSeeSharp

回答

1

ObjectContext和實體是不同的對象;您可以使用ObjectContext添加/修改/刪除對象,但實體不能直接訪問ObjectContext

您需要創建ObjectContext的實例並對其本身執行操作,而不是對實體執行操作。

+0

我在VS2012中有以下代碼示例static int SelectCustomersCount() NorthwindEntities northwindEntities = new NorthwindEntities(); string nativeSQLQuery =「SELECT count(*)FROM dbo.Customers」; var queryResult = northwindEntities.ExecuteStoreQuery (nativeSQLQuery); int customersCount = queryResult.FirstOrDefault(); return customersCount; }在這裏它可以工作,但是當我嘗試創建自己的對象時,我看不到使用我的實體對象的方法「ExecuteStoreQuery()」或「AddObject()」方法。爲什麼在這個例子中工作? – TheChampp

+0

NorthwindEntities本身就是對象上下文,它不是一個實體... – daryal

+0

但是爲什麼NorthwindEntities對象在例子中可以看到像「ExecuteStoreQuery()」,「AddObject()」這樣的方法,而我的對象不能?它們來自同一類型(NorthwindEntities)。 – TheChampp