posts - 16,  comments - 83,  views - 18641
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

虽然没人看不过还是继续写

上一篇写的是直接传SQL语句的方法 在C#代码中看到SQL怎么都觉得不舒服好了现在看下C#的写法

var z = new SelectSqlSection<RJ.DModel.Users>();

z.AddColumn(a
=> new { s = (a.D_Id * 5), b = a.U_UserName });

db.ToIList
<RJ.Model.Users>(z)

生成的SQL语句如下

SELECT ([Users].[D_Id] * @pj02gde4ln6dfwj) [s],[Users].[U_UserName] [b] FROM [Users]

看起是不是要舒服点了呢如果不想用匿名对象的也可以写成数组   

var z = new SelectSqlSection<RJ.DModel.Users>();

z.AddColumn(a
=> new[] { (a.D_Id * 5).Alias("D_Id"), a.U_UserName });

db.ToIList
<RJ.Model.Users>(z)

生成的SQL语句如下

SELECT ([Users].[D_Id] * @pq6xgwpsclvtuco) [D_Id],[Users].[U_UserName] FROM [Users]

只有一个字段时也可以写成  

var z = new SelectSqlSection<RJ.DModel.Users>();

z.AddColumn(a
=> a.D_Id);

db.ToIList
<RJ.Model.Users>(z)

生成的SQL语句如下

SELECT [Users].[D_Id] FROM [Users]


如果只想取单条数据时可以写成

RJ.Model.Users user=db.Single<RJ.Model.Users>(z);

生成的SQL语句如下

SELECT TOP 1 [Users].[D_Id] FROM [Users]

不想返回对象也可以直接返回
DataSetDataSet user=db.ToDataSet(z);


在来看看筛选

var z = new SelectSqlSection<RJ.DModel.Users>();
z.Where(a
=> a.D_Id > 5);
SELECT * FROM [Users] WHERE [Users].[D_Id] > @pjackrftwkjpya0

多个条件  

var z = new SelectSqlSection<RJ.DModel.Users>();

z.Where(a
=> (a.D_Id > 5 | a.D_Id == 2) & a.U_Id > 5);
SELECT * FROM [Users] WHERE (([Users].[D_Id] > @pn13yc95bj366hk OR [Users].[D_Id] = @p25vpkscoijdtlx) AND [Users].[U_Id] > @pas9pm39urm0s8l)

联表查询
Join 
var z = new SelectSqlSection<RJ.DModel.Users>();

z.Join
<RJ.DModel.Department>((a,b)=>a.D_Id==b.D_Id);
SELECT * FROM [Users] INNER JOIN [Department] ON [Users].[D_Id] = [Department].[D_Id]

LeftJoin

var z = new SelectSqlSection<RJ.DModel.Users>();

z.LeftJoin
<RJ.DModel.Department>((a,b)=>a.D_Id==b.D_Id);

RightJoin 

var z = new SelectSqlSection<RJ.DModel.Users>();

z.RightJoin
<RJ.DModel.Department>((a,b)=>a.D_Id==b.D_Id);
SELECT * FROM [Users] LEFT OUTER JOIN [Department] ON [Users].[D_Id] = [Department].[D_Id]

普通的

var z = new SelectSqlSection<RJ.DModel.Users>();

z.AddForm
<RJ.DModel.Department>((a,b)=>a.D_Id==b.D_Id);
SELECT * FROM [Users] , [Department] WHERE [Users].[D_Id] = [Department].[D_Id]

RJ框架更新中~~~~

posted on   [RJ]  阅读(398)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示