我的ORM之二--添加

我的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之六-- 批量

posted @   NewSea  阅读(537)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示