LINQ,语言集成查询(Language INtegrated Query)是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。
工具:LinqPad(http://www.linqpad.net/)分析工具
一、使用方法
1、返回匿名类型
var sql = from c in tb select new {c.EUserName,c.AreaName}
var sql = from c in tb select new {EUserName:c.EUserName,AreaDepName:c.AreaName +c.DeaprtName};
2、事务处理,见如下代码:
if (_dataContext.Connection != null) _dataContext.Connection.Open(); DbTransaction tran = _dataContext.Connection.BeginTransaction(); _dataContext.Transaction = tran; try { //p1插入成功 Person p1 = new Person() { id = 100, name = "hans" }; _dataContext.GetTable<Person>().InsertOnSubmit(p1); _dataContext.SubmitChanges(); //p2.id=101已存在,插入不成功,通过事务处理,会将p1插入操作回滚,插入失效 Person p2 = new Person() { id = 101, name = "hdu" }; _dataContext.GetTable<Person>().InsertOnSubmit(p2); _dataContext.SubmitChanges(); tran.Commit(); } catch (Exception ex) { tran.Rollback(); }