温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何更好地使用ADO.NET访问技术

发布时间:2021-10-19 17:13:39 来源:亿速云 阅读:109 作者:小新 栏目:编程语言

这篇文章将为大家详细讲解有关如何更好地使用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访问技术”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI