LINQ TO SQL Linq入门基础
2016-05-03 11:21
225 查看
我们以一个酒店管理系统的数据库为例子
表结构很简单:GuestInfo(客人信息表),Room(房间表),RoomType(房间类型表),HotelInfo(每个月盈利信息)
整体就是,Room中有个房间类型ID的外键,客人表中有个房间的ID的外键。月盈利信息先不管
准备:新建项目 linq_Ch4控制台程序,新建DB文件夹
右击DB文件夹,添加→新建项
![](https://images2015.cnblogs.com/blog/569483/201605/569483-20160503111200872-1895719437.png)
选择LINQ to SQL类,文件名为 Hotel.dbml,添加
[b]
![](https://images2015.cnblogs.com/blog/569483/201605/569483-20160503111220138-1588227522.png)
[/b]
打开服务器资源管理器,我的快捷键是Ctrl+W+L
![](https://images2015.cnblogs.com/blog/569483/201605/569483-20160503111256138-873624887.png)
![](https://images2015.cnblogs.com/blog/569483/201605/569483-20160503111501247-708527245.png)
![](https://images2015.cnblogs.com/blog/569483/201605/569483-20160503111338029-553960037.png)
选中这四张表,往已经打开的Hotel.dbml文件中拖放,然后Ctrl+S保存
![](https://images2015.cnblogs.com/blog/569483/201605/569483-20160503111420232-1816937126.png)
1.1 查询单表
引入命名空间,让我们可以访问dbml文件
![](https://images2015.cnblogs.com/blog/569483/201605/569483-20160503111631794-1228231179.png)
我们有个对象叫 dbml文件名+DataContext组成的一个名称的对象,通过它你就可以操作数据库了
①查出空房间,还可以住两个人以上的房间的信息;查出的结果先按照 最大住人数降序显示结果再按照床位数降序显示结果(锻炼基本单表查询,多条件排序)
代码如下:
效果图:
![](https://images2015.cnblogs.com/blog/569483/201605/569483-20160503111905701-850567877.png)
表结构很简单:GuestInfo(客人信息表),Room(房间表),RoomType(房间类型表),HotelInfo(每个月盈利信息)
整体就是,Room中有个房间类型ID的外键,客人表中有个房间的ID的外键。月盈利信息先不管
准备:新建项目 linq_Ch4控制台程序,新建DB文件夹
右击DB文件夹,添加→新建项
![](https://images2015.cnblogs.com/blog/569483/201605/569483-20160503111200872-1895719437.png)
选择LINQ to SQL类,文件名为 Hotel.dbml,添加
[b]
![](https://images2015.cnblogs.com/blog/569483/201605/569483-20160503111220138-1588227522.png)
[/b]
打开服务器资源管理器,我的快捷键是Ctrl+W+L
![](https://images2015.cnblogs.com/blog/569483/201605/569483-20160503111256138-873624887.png)
![](https://images2015.cnblogs.com/blog/569483/201605/569483-20160503111501247-708527245.png)
![](https://images2015.cnblogs.com/blog/569483/201605/569483-20160503111338029-553960037.png)
选中这四张表,往已经打开的Hotel.dbml文件中拖放,然后Ctrl+S保存
![](https://images2015.cnblogs.com/blog/569483/201605/569483-20160503111420232-1816937126.png)
1.1 查询单表
引入命名空间,让我们可以访问dbml文件
![](https://images2015.cnblogs.com/blog/569483/201605/569483-20160503111631794-1228231179.png)
我们有个对象叫 dbml文件名+DataContext组成的一个名称的对象,通过它你就可以操作数据库了
①查出空房间,还可以住两个人以上的房间的信息;查出的结果先按照 最大住人数降序显示结果再按照床位数降序显示结果(锻炼基本单表查询,多条件排序)
代码如下:
HotelDataContext db = new HotelDataContext();//这里是前面类名+DataContext //1. 查出空房间,还可以住两个人以上的房间的信息;查出的结果先按照 最大住人数降序显示结果,再按照床位数降序显示结果 var query1 = from o in db.Room where o.R_Status == 0 && o.R_MaxPNum > 1 orderby o.R_MaxPNum descending, o.R_BedNum descending select o; foreach (var item in query1) { Console.WriteLine(string.Format("房间ID:{0}\t{1}\t床位数:{2},最多可住{3}人,描述:{4}", item.R_ID, item.R_Status == 0 ? "空闲" : "有人", item.R_BedNum, item.R_MaxPNum, item.R_Discription)); }
效果图:
![](https://images2015.cnblogs.com/blog/569483/201605/569483-20160503111905701-850567877.png)
相关文章推荐
- Node.js + MongoDB + AngularJS - 6 访问文件系统-2
- SQL Server 使用全文索引进行页面搜索
- redis 部分操作
- oracle数据库分页查询
- oracle与sqlserver的不同:truncate
- mysql乐观锁总结和实践 (转)
- notepad++ 文本替换功能,解决excel批量修改数据库的数据操作
- Mysql测试链接
- SqlServer测试连接
- SqlServer 查询表相关信息
- mysql悲观锁总结和实践 (转)
- Redis命令详解
- DbHelperSQL类
- MySQL执行计划解读
- Simple-Spring-Memcached
- oracle与sqlserver关于列别名的一点区别
- Mysql几种索引类型的区别及适用情况
- Activiti数据库表结构(表详细版)
- ERROR 1129 (00000) Host * is blocked because of many connection errors; unblock with ‘mysqlad解决
- MongoDB在实际项目中的使用