linq to sql 中从dbml文件中创建数据库
今天很郁闷,实验室的服务器东西都没有了,而我的数据库又在哪里,我又没有备份,把我抑郁的要命,幸亏我用的linq to sql.仔细想想,他的dbml文件基本包含了数据库的所有内容,所以,一定有办法从dbml文件中创建数据库!
研究了一段时间,终于让我重建起了数据库,虽然数据丢了,但那都是测试数据,基本没有什么用.呵呵现在把它们分享给大家,另外说一声,千万不要忘了备份数据库啊~~血的教训啊! 观察IDE自动生成的designer.cs文件,查看文件的结构如下:
[Table(Name="dbo.tb_borrow")]
public partial class tb_borrow : INotifyPropertyChanging, INotifyPropertyChanged
{
private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
private System.Nullable<int> _bookId;
private System.Nullable<int> _userId;
[Column(Storage="_bookId", DbType="Int")]
public System.Nullable<int> bookId
{
get
{
return this._bookId;
}
set
{
if ((this._bookId != value))
{
this.OnbookIdChanging(value);
this.SendPropertyChanging();
this._bookId = value;
this.SendPropertyChanged("bookId");
this.OnbookIdChanged();
}
}
}
[Column(Storage="_userId", DbType="Int")]
public System.Nullable<int> userId
{
get
{
return this._userId;
}
set
{
if ((this._userId != value))
{
this.OnuserIdChanging(value);
this.SendPropertyChanging();
this._userId = value;
this.SendPropertyChanged("userId");
this.OnuserIdChanged();
}
}
}
}
(为节省篇幅这里只列出几个属性)
可以发现,每个类都是由Table属性修饰的,而每个属性都是由Culumn修饰的,而实际上该属性对应的是ColumnAttribute类,该类包含了其所对应字段的字段名以及在数据库中的字段类型,欧拉,这就得了.我们创建数据库和数据表用的就是它啦.
接下来只要我们编写以下方法变可以轻松实现数据表的还原:
private void reverseDataTable()
{//在数据库中新建数据表
string
相关文档:
SQL Server 导入和导出向导提供了生成 Microsoft SQL Server 2005 Integration Services (SSIS) 包最简单的方法。SQL Server 导入和导出向导可以访问各种数据源。可以向下列源复制数据或从其中复制数据:
· Microsoft SQL Server
· 平面文件
· Microsoft Off ......
1、定义指令集:using System.Data.SqlClient;
2、定义sql连接: SqlConnection conn= new SqlConnection("server=(local);database=colorring;uid=sa;pwd=;");
3、打开sql连接: conn.Open();
4、定义sql语句:string sqlstr = "insert into test values (123321)";
5、组装sql语句和连接:SqlCommand cmd = new SqlCo ......
标准的 SQL 的解析顺序为:
(
1
).
from
子句, 组装来自不同数据源的数据
(
2
).
WHERE
子句, 基于指定的条件对记录进行筛选
(
3
).
GROUP
BY
子句, 将数据划分为多个分组
(
4
).使用聚合函数进行计算
(
5
).使用
HAVING
子句筛选分组
(
6
).计算所有的表达式
......
首先在sqlserver的安装路径下,如:D:\Program Files\Microsoft SQL
Server\MSSQL\,找到文件名是scptxfr.exe的文件,利用命令行工具:具体用法如下:
D:\PROGRA~1\MICROS~2\MSSQL\>scptxfr/?
命令行语法:
SCPTXFR /s
<服务器> /d <数据库> {[/I] | [/P <密码>]}
&n ......