我的ORM之二--添加
添加的语法:
var 影响行数 = dbr.表.Insert(实体).Execute();
实体类型
1. 任何C#类。
如:public class Entity{ public string Name{get;set;} .... }
2. 字典
3. WhereClip 表达式
dbr.Menu.Insert(o=>o.Name == "系统管理" & o.Url == "~/Sys/List").Execute();
取增加后的自增值:
dbo.GetLastAutoID();
这是最简单的方法,写法很顺畅,推荐使用。
它是线程安全的。它返回当前线程最近一次插入实体的自增值。
代码:
if(dbr.Menu.Insert(entity).Execute() != 1){ return "插入失败" ; } var menuId = dbo.GetLastAutoID(); ...
InsertClip.LastAutoID
代码:
var insert = dbr.Logistics.LBanCi.Insert(o => o.Id == 1 & o.Name == "abc" ); if (insert.Execute() != 1) return "没有插入成功"; var id = insert.LastAutoID;
在实体类上直接获取
var orderEntity = dbr.Logistics.LogisticsOrder._; orderEntity.BanCiID = Tend.BanCiID; orderEntity.Number = SuppGoods.Number; orderEntity.BanCiDetailID = Tend.BanCiDetailID; if (dbr.Logistics.LogisticsOrder.Insert(orderEntity).Execute() == 0) { return "插入订单失败"; } var orderID = orderEntity.Id;
指定SQL的添加列
dbr.PUser.Insert(new PUserRule.Entity()).ResetColumns(o => o.Id & o.Name ).Execute();
或:
dbr.PUser.Insert(new PUserRule.Entity()).RemoveColumns(o => new SimpleColumn[] { o.Mobile }).Execute();
批量添加:见: 我的ORM之六-- 批量
作者:NewSea 出处:http://newsea.cnblogs.com/
QQ,MSN:iamnewsea@hotmail.com 如无特别标记说明,均为NewSea原创,版权私有,翻载必纠。欢迎交流,转载,但要在页面明显位置给出原文连接。谢谢。 |