文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络网络编程MSSQLSql server CLR自定义类型存储对象
精品推荐
特别推荐
·SQL SERVER 2005中的同步复制技术
·SQL Server企业管理器和查询分析器简介
·常用SQL语句词典
·结束SQL注入隐患3招
·掌握SQL Server数据库的实用技巧
·SQL的简单查询
·快速解决SQL Server“安全疑难”相关问题
·SQL Server 2005:你应知道的13件事
·实例解析:减少SQL日志大小的三个好方法
·使用SQL2000将现有代码作为Web服务提供
热点TOP10
·“木马”查杀法和清除法
·SQL2000 数据库安装说明
·巴塞尔新资本协议概述
·SQL server 2005安装问题汇总
·安装Ms SQL Server 2005 开发版时出现性能计数器要求安装错误的解决办法
·SQL Server 2005 Express Edition安装步骤详解
·SQL Server企业管理器和查询分析器简介
·SQL SERVER 2005中的同步复制技术
·还原精灵实战
·常用SQL语句词典

Sql server CLR自定义类型存储对象

日期:2007年7月8日 作者: 查看:[大字体 中字体 小字体]


问:我可以在SQL Server 2005中用CLR用户自定义类型来存储我的业务对象吗?

  答:实现SQL CLR用户自定义类型(UDT)非常简单,就像给.NET类或者结构添加一些额外的片断。其中就包括属性(SqlUserDefinedTypeAttribute),和接口(INullable),以及一些额外的方法(Null() and Parse())。这个简单性带来的后果就是,一个有经验的开发人员可以在不到5分钟的时间里把一个业务对象转换为SQL CLR 用户自定义类型。

  SQL Server 2005的设计目标并不是用于面向对象的数据库管理系统。它还是一个标准的SQL 数据库管理系统,并且用户自定义类型的能力也应该被当作是一种系统扩展的类型,而不是一个对象。开发人员在决定是否将现有的业务对象用作CLR UDT的时候,应该仔细权衡他们的选择。

  每次访问一个类型的实例的方法或者属性的时候,这个实例都应该在这个方法被访问之前串行化。因此,这最好是依靠那些基于他们的串行化字节的可比较的类型。开发人员应该尝试仅仅使用那些可以自动回答问题的用户自定义类型。例如,以下的C#类就不如用户自定义类型:

class Product
{
   public string Name;
   public string Description;
   public decimal price;
}

  如果一个查询是针对这样类型的字段,每个行都必须被反串行化以回答如下的问题,“什么产品价值10美元?”这是因为我们不能假设所有的10美元的产品都具有同样的二进制表示。对一个大表(例如一个有上百万产品的表)中的每个行都进行反串行化将会给性能带来严重的考验。

  除了性能挑战之外,还有标准化的问题。例如,假设这个类型,一个公司怎么能为同样的产品存储两种描述,并且还要确保产品只有一个有效的价格?

  最好是坚持使用那些可以回答问题,并且不会带来反串行化负担的类型。

(出处:清风学院






上一篇:Sql server动态建立数据对象结构

下一篇:[Oracle]如何在亿级记录表中创建索引
相关文章:
·常见局域网的类型--局域网知识
·主板系列知识:CPU插槽类型
·SQL server 2005安装问题汇总
·安装Ms SQL Server 2005 开发版时出现性能计数器要求安装错误的解决办法
·SQL Server 2005 Express Edition安装步骤详解
·主板 : 硬盘接口类型
·SQL Server企业管理器和查询分析器简介
·用户登录存储过程
·Flash动画基础视频教程(22):形变动画类型
·五笔字型字根类型
相关软件:

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot