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常用分页的办法~~
表中主键必须为标识列,[ID] int IDENTITY (1,1)
1.分页方案一:(利用Not In和SELECT TOP分页)
语句形式:
SELECT TOP 页记录数量 *
from 表名
WHERE (ID NOT IN
(SELECT TOP (每页行数*(页数-1)) ID
from 表名
ORDER BY ID))
O ......
当执行一条DML语句后,DML语句的结果保存在四个游标属性中,这些属性用于控制程序流程或者了解程序的状态。当运行DML语句时,PL/SQL打开一个内建游标并处理结果,游标是维护查询结果的内存中的一个区域,游标在运行DML语句时打开,完成后关闭。隐式游标只使用SQL%FOUND,SQL%NOTFOUND,SQL%ROWCOUNT三个属性.SQL%FOUND,SQ ......
以下说明均针对企业版或者开发版;
1.开启sql server 实例的远程连接;
“开始”-->“程序”-->“Microsoft SQL Server 2005”-->“配置工具”-->“SQL Server 外围应用配置器”-->“服务和连接的外围应用配置器”--> ......
1、Session有什么重大BUG,微软提出了什么方法加以解决?
答:是iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sate server或SQL Server数据
库的方式存储Session不过这种方式比较慢,而且无法捕获Session的END事件。
2.产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。
C# ......