亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

DataRabbit 輕量的數(shù)據(jù)訪問框架(09) -- IDa

系統(tǒng) 2636 0
(完全限定類名: DataRabbit.Schema.IDataSchemaAccesser

在前面介紹的很多訪問器的實現(xiàn)中,都不需要使用者提供任何關于數(shù)據(jù)庫表結構的信息(比如,主鍵、主外鍵關系等),這是因為它們都借助于IDataSchemaAccesser來獲取目標數(shù)據(jù)表的大綱信息,本文就來介紹如何使用DataRabbit框架中的IDataSchemaAccesser來訪問和操作數(shù)據(jù)表的大綱。

我們可以從DataRabbit的入口點IDataAccesser中獲取IDataSchemaAccesser引用:
IDataSchemaAccesser dataSchemaAccesser = dataAccesser.GetDataSchemaAccesser(null) ;
注意,與獲取前面介紹的各種訪問器一樣,IDataSchemaAccesser也是通過一個Get方法得到。

IDataSchemaAccesser 主要提供兩個功能,一是獲取指定表的大綱信息,二是依據(jù)大綱信息創(chuàng)建一個新的數(shù)據(jù)表。下面是IDataSchemaAccesser的完整定義:
public interface IDataSchemaAccesser : ITransactionAccesser
{
/// <summary>
/// ClearCache清空緩存的Schema
/// </summary>
void ClearCache();

/// <summary>
/// GetDataSchema獲取目標表table的數(shù)據(jù)大綱
/// </summary>
DataSchema GetDataSchema( string table);

/// <summary>
/// CreateTable在數(shù)據(jù)庫中創(chuàng)建大綱與schema一致的表
/// </summary>
void CreateTable( string table, DataSchema schema, bool createFKeys);
}

通過接口定義,我們看到,它也繼承 ITransactionAccesser 接口,這表明,IDataSchemaAccesser可以在非事務環(huán)境或事務環(huán)境中工作。
DataRabbit使用 DataSchema 來封裝數(shù)據(jù)表的大綱信息,它由多個 ColumnSchema 和N個 ForeignKey 構成,如下所示:
DataRabbit 輕量的數(shù)據(jù)訪問框架(09) -- IDataSchemaAccesser

ColumnSchema 封裝了一個數(shù)據(jù)列的大綱信息,包括:列名、列的類型、是否為主鍵、是否為自增列、是否允許為空、備注、最大長度等。
ForeignKey 封裝了當前數(shù)據(jù)表的某個外鍵信息,包括:外鍵列名稱、主表的名稱、對應的主表主鍵名稱。
另外, DataSchema 還提供了一個名為PrimaryKey的屬性,用于標志當前表的主鍵--可以表示單主鍵,也可以表示聯(lián)合主鍵。
DataRabbit 輕量的數(shù)據(jù)訪問框架(09) -- IDataSchemaAccesser

最后,我們給出一個例子,該例子演示如何在Oracle中創(chuàng)建一個Student表,該表的結構與SqlServer中的Student表結構一樣。

IDataAccesser dataAccesserToSqlServer = ... ; // 通過DataAccesserFactory創(chuàng)建IDataAccesser
IDataAccesser dataAccesserToOracle = ... ; // 通過DataAccesserFactory創(chuàng)建IDataAccesser

DataSchema studentSchema
= dataAccesserToSqlServer.GetDataSchemaAccesser(null). GetDataSchema ( " Student " );
dataAccesserToOracle.GetDataSchemaAccesser(null). CreateTable (
" Student " ,studentSchema, false );

轉到: DataRabbit 輕量的數(shù)據(jù)訪問框架 -- 序





DataRabbit 輕量的數(shù)據(jù)訪問框架(09) -- IDataSchemaAccesser


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久操不卡| 国产福利午夜 | 99爱在线视频这里只有精品 | 久久这里只有精品66 | 拍拍拍无挡视频免费观看1000 | 中文字幕在线观看不卡视频 | 黄色毛片一级 | 99热精品久久只有精品黑人 | 91探花国产综合在线精品 | 国产精品高清在线观看 | 国内欧美一区二区三区 | 国产呦系列免费 | 欧美一级高清视频在线播放 | 99热这里只有精品在线播放 | 欧美日韩一二三区免费视频观看 | 豆国产93在线 | 亚洲 | 国产99在线 | 亚洲 | 欧美综合网站 | 中国老妇色xxxxx | 一级色视频 | 久久93精品国产91久久综合 | 国产一级一片免费播放 | 精品久久久久久久免费加勒比 | 玖玖玖精品视频免费播放 | 又粗又大的机巴好爽7 | 亚洲男人的天堂在线视频 | 色综合网站国产麻豆 | 国产综合日韩伦理 | 久久乐国产精品亚洲综合m3u8 | 国产精品久久国产三级国不卡顿 | 欧美一欧美一区二三区性 | 国产精品久久亚洲不卡动漫 | 亚洲国产影院 | 激情亚洲婷婷 | 青青爽国产手机在线观看免费 | 亚洲综合黄色 | 午夜一级精品免费毛片 | 在线视频一二三区2021不卡 | 国产成人精品日本亚洲专一区 | 国产一区亚洲二区 | 就操成人网|