就下载 —— 安全下载、无毒手机软件、绿色软件官方下载网站最近更新|下载排行|热门标签|收藏本站

您现在的位置是:就下载 > IT资讯 > 软件教程 > 实现数据库分表的方法、作用和意义

 最近使用ADO.net Entity应用中遇到一个分表的应用,IDE中是不可视化支持这个的,为此使用了基于LINQ的方法解决了该问题。

数据库分表的意义和目的
分表技术顾名思义,就是把若干个存储相同类型数据的表分成几个表分表存储,在提取数据的时候,不同的用户访问不同的表,互不冲突,减少锁表的几率。

详细参考:

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

基于LINQ的实现
具体的步骤
Ø 使用sqlmetal.exe(VS开发工具带) 生成实体类和架构文件

Ø 选择需要使用的实体类和配置文件,形成使用的模板

Ø 基于这些模板,使用XmlMappingSource 类和LINQ访问数据库


例子
命令行执行
sqlmetal /server:localhost /database:northwind /code:ns.cs /map:ns.xml /namespace:DAL

架构文件例子
<?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}表示可变的数据库和表名称

实体例子
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;


}

}

上一篇:在安装Office 时提示 安装错误,找不到必需的安装文件SKU011.CAB 解决方案

本文地址:软件教程 >> http://www.9xz.net/it/ruanjianjiaocheng/20037.html

下一篇:汉语编程语言--易语言5.11破解版介绍

  • 打印
推荐阅读
热门专题
推荐内容
热点内容