西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁西西教程數(shù)據(jù)庫教程 → 實(shí)現(xiàn)數(shù)據(jù)庫分表的方法、作用和意義

實(shí)現(xiàn)數(shù)據(jù)庫分表的方法、作用和意義

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:本站整理時(shí)間:2011/1/20 22:30:30字體大小:A-A+

作者:佚名點(diǎn)擊:472次評(píng)論:0次標(biāo)簽: 數(shù)據(jù)庫

  • 類型:辦公軟件大。35KB語言:中文 評(píng)分:1.2
  • 標(biāo)簽:
立即下載
 最近使用ADO.net Entity應(yīng)用中遇到一個(gè)分表的應(yīng)用,IDE中是不可視化支持這個(gè)的,為此使用了基于LINQ的方法解決了該問題。

數(shù)據(jù)庫分表的意義和目的
分表技術(shù)顧名思義,就是把若干個(gè)存儲(chǔ)相同類型數(shù)據(jù)的表分成幾個(gè)表分表存儲(chǔ),在提取數(shù)據(jù)的時(shí)候,不同的用戶訪問不同的表,互不沖突,減少鎖表的幾率。

詳細(xì)參考:

http://club.topsage.com/thread-1842602-1-1.html

基于LINQ的實(shí)現(xiàn)
具體的步驟
Ø 使用sqlmetal.exe(VS開發(fā)工具帶) 生成實(shí)體類和架構(gòu)文件

Ø 選擇需要使用的實(shí)體類和配置文件,形成使用的模板

Ø 基于這些模板,使用XmlMappingSource 類和LINQ訪問數(shù)據(jù)庫


例子
命令行執(zhí)行
sqlmetal /server:localhost /database:northwind /code:ns.cs /map:ns.xml /namespace:DAL

架構(gòu)文件例子
<?xml version="1.0" encoding="utf-8"?>
<Database Name="{0}" xmlns="http://schemas.microsoft.com/linqtosql/mapping/2007">
<Table Name="{1}">
<Type Name="Customer">
<Column Name="CustomerID" Member="CustomerID" Storage="_CustomerID" DbType="NChar(5) NOT NULL" CanBeNull="false" IsPrimaryKey="true" />
<Column Name="CompanyName" Member="CompanyName" Storage="_CompanyName" DbType="NVarChar(40) NOT NULL" CanBeNull="false" />
<Column Name="ContactName" Member="ContactName" Storage="_ContactName" DbType="NVarChar(30)" />
</Type>
</Table>
</Database>

{0} {1}表示可變的數(shù)據(jù)庫和表名稱

實(shí)體例子
public partial class Customer: INotifyPropertyChanging, INotifyPropertyChanged { private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty); private string _CustomerID; private string _CompanyName; private string _ContactName;…



代碼訪問
XmlMappingSource xml = XmlMappingSource.FromXml(string.Format(AppResource.SentenceTemplate, "IAT2011", sentenceName));
using (DataContext ctx = new DataContext(System.Configuration.ConfigurationManager.ConnectionStrings["IATDB"].ConnectionString, xml))
{
ctx.DeferredLoadingEnabled = true;


}

}

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)