①推断计划将会提出额外的处理从而影响应用程序性能的提高;
②所有的列将会是一个数据类型:string;
③推断过程具有不确定性。那就是说,它是基于xml文件的,而不是基于有意的计划。
iii.sql server 的for xml查询
如果你想返回如sql server的for xml查询结果,你可以用sql server.net data provider直接使用sqlcommand.executexmlreader方法创建一个xmlreader。
iv.sqlxml管理类
在.net框架中sqlxml管理类使用microsoft.data.sqlxml命名空间。它使得你可以执行xpath查询和xml模板文件,如同运用xslt转换数据一样。最新版本是sqlxml3.0。
u.更多有用技巧
i.避免自动增量值冲突
像大多数数据库一样,dataset让你在增加新的数据时标识为自动增量的列自动填充增量值。使用自动增量时,应当避免本地dataset的增量值与数据库的增量值相冲突。要避免这种情况,推荐在数据库和dataset同时使用自动增量时,在你的dataset中创建autoincrementstep为-1和autoincrementseed为0的自动增量列,同时保证你的数据库中的列从1开始正方向递增。这样就保证一个负方向的增量不会与一个正方向的增量相冲突。另外一种方法是使用guid代替自动增量。在dataset中产生的guid永远不会与数据库中产生的guid一样。如果你的自动增量列只是简单地用作唯一值,并且不表示任何含义,建议你使用guids代替自动增量。它们是唯一的并避免使用自动增量产生的额外工作。
ii.处理乐观并发错误