原创

Dos.ORM使用方法 - From、Select查询

 106133  2015/03/29 14:47:09

car_5

创建DbSession对象:

public class DB
{
    public static readonly DbSession Context = new DbSession("DosConn");
}

.From用于指定要访问的表,.Select用于指定查询某些字段,举例:

//SQL语句:【SELECT * FROM table WHERE name='ITdos'】
var count = DB.Context.From<Model.table>()
                .Where(d => d.name == "ITdos")
                .ToList();

查询单个字段:

//SQL语句:【SELECT id FROM table WHERE name='ITdos'】
var list = DB.Context.From<Model.table>()
                .Select(d => d.id)
                .Where(d => d.name == "ITdos")
                .ToList();
//查询单个字段.ToList()返回List<table>数据
//也可以使用.ToList<int>(),则返回List<int>数据
//int即为查询单个字段的字段类型

查询多个字段:

//SQL语句:【SELECT id,sex,createTime FROM table WHERE name='ITdos'】
var list = DB.Context.From<Mode.table>()
                .Select(d => new { d.id, d.sex, d.createTime })
                .Where(d => d.name == "ITdos")
                .ToList();
//说明:默认.ToList()返回的是List<table>数据,也可以使用.ToList<T>()来映射任意类
//举例:
public class ViewTable
{
    public int id {get;set;}
    public string sex{get;set;}
}
var list = DB.Context.From<Model.table>()
                .Select(d => new { d.id, d.sex, d.createTime })
                .Where(d => d.name == "ITdos")
                .ToList<ViewTable>();
//说明:此时则返回List<ViewTable>数据,成功映射id与sex字段
//但无法映射createTime,因为没有为它定义属性

查询字段别名:

//SQL语句:SELECT name as realName,sex as gender,id FROM table WHERE name='ITdos'
var list = DB.Context.From<Model.table>()
                .Select(d => new { realName = d.name, gender = d.sex, d.name})
                .Where(d => d.name == "ITdos")
                .ToList();