国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

CLR自定義類型存儲業務對象

2024-07-21 02:38:10
字體:
來源:轉載
供稿:網友

  問:我可以在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美元的產品都具有同樣的二進制表示。對一個大表(例如一個有上百萬產品的表)中的每個行都進行反串行化將會給性能帶來嚴重的考驗。  除了性能挑戰之外,還有標準化的問題。例如,假設這個類型,一個公司怎么能為同樣的產品存儲兩種描述,并且還要確保產品只有一個有效的價格?  最好是堅持使用那些可以回答問題,并且不會帶來反串行化負擔的類型。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 恩施市| 九台市| 随州市| 庆元县| 西盟| 赣榆县| 金秀| 阿拉善盟| 芦山县| 丰镇市| 郓城县| 博白县| 鹤峰县| 马龙县| 青海省| 宁晋县| 清苑县| 泽州县| 浦东新区| 蓬安县| 晴隆县| 内江市| 马尔康县| 临猗县| 惠东县| 平山县| 东城区| 浦城县| 苍梧县| 雷波县| 清苑县| 达尔| 甘谷县| 南丹县| 临汾市| 郴州市| 蓬莱市| 鹤壁市| 准格尔旗| 新竹县| 澳门|