更好使用ADO.NET访问技术说明
创始人
2024-06-18 19:50:18
0

这就是我们的.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。

  1. Product product1 = context.Product.FirstOrDefault(p => p.ProductID == 1004);  
  2. if (product1 != null)  
  3. {  
  4. product1.Color = "Black";  
  5. product1.StandardCost = 20;  
  6. product1.ListPrice = 25;  
  7. }  
  8.    
  9. var objectStateEntries = context.ObjectStateManager.GetObjectStateEntries(EntityState.Modified);  
  10.    
  11. foreach (var entry in objectStateEntries)  
  12. {  
  13. Console.WriteLine("{0} - {1} - {2}",  
  14. entry.EntityKey.EntityContainerName,  
  15. entry.EntityKey.EntitySetName.ToString(),  
  16. entry.EntityKey.EntityKeyValues.First().Key + " = " +  
  17. entry.EntityKey.EntityKeyValues.First().Value);  
  18.    
  19. for (int i = 0; i < entry.OriginalValues.FieldCount; i++)  
  20. {  
  21. Console.WriteLine("\t {0} -> {1}", entry.OriginalValues[i], entry.CurrentValues[i]);  
  22. }  

在下面的示例中,首先检索特定的Product记录,修改其中3个属性,并调用GetObjectStateEntries(EntityState.Modified) 方法,返回所有更新实体的列表,并进一步遍历ObjectStateEntry集合,显示实体名称,ADO.NET访问,初始值和当前值。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...