您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何更好地使用ADO.NET訪問技術,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
這就是我們的.NET支持。我們的方向是提供一個全面的功能訪問。所以對你這個問題的回答是肯定的。我們將根據我們用戶的需要支持.NET,看看在Oracle技術網站上Windows開發中心提供的所有內容吧。ADO.NET訪問我們是很積極主動的。
如果僅僅檢索數據,并不需要更新數據,則可以通過使用MergeOption.NoTracking 取消變更跟蹤。這樣,就不會使用ObjectStateManager,減少執行查詢的時間,所有返回的實體將是分離的狀態(detached state)。在ASP.NET web application 或在WinForms / WPF Grids 控件中以只讀方式顯示數據時,NoTracking 是一個比較好的選擇。
在使用對象服務(Object Services)和ADO.NET訪問時,需要調用ObjectQuery 的一個重載構造函數,其中第三個參數是MergeOption 枚舉。默認的行為是 AppendOnly,可以改變為 NoTracking。
Product product1 = context.Product.FirstOrDefault(p => p.ProductID == 1004); if (product1 != null) { product1.Color = "Black"; product1.StandardCost = 20; product1.ListPrice = 25; } var objectStateEntries = context.ObjectStateManager.GetObjectStateEntries(EntityState.Modified); foreach (var entry in objectStateEntries) { Console.WriteLine("{0} - {1} - {2}", entry.EntityKey.EntityContainerName, entry.EntityKey.EntitySetName.ToString(), entry.EntityKey.EntityKeyValues.First().Key + " = " + entry.EntityKey.EntityKeyValues.First().Value); for (int i = 0; i < entry.OriginalValues.FieldCount; i++) { Console.WriteLine("\t {0} -> {1}", entry.OriginalValues[i], entry.CurrentValues[i]); } }
在下面的示例中,首先檢索特定的Product記錄,修改其中3個屬性,并調用GetObjectStateEntries(EntityState.Modified) 方法,返回所有更新實體的列表,并進一步遍歷ObjectStateEntry集合,顯示實體名稱,ADO.NET訪問,初始值和當前值。
關于“如何更好地使用ADO.NET訪問技術”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。