c#操作数据库,史上最牛逼的方法,你见过这种方法吗?

qq_25613869 2015-01-26 06:27:52
免费分享给大家。下载地址在最下面。


C# code

var Sql = factorySql.Create<Users, InformationCategories>();
//简单查询,返回实体类列表。
var sdfsf123 = Sql.ExecuteList<Users>((a, b) =>
Sub.Top(8).Select(a.UserId, a.UserName).From(a)
);
//分页查询,返回表
DataTable dtUser = Sql.ExecuteDataTable((a, b) =>
Sub.PageSize(12).PageIndex(2).Select(a.UserId.As("ID号"), a.UserName.As("名字")).From(a).OrderBy(a.CreateDate.Desc())
);
//多表查询
var ListUser3 = Sql.ExecuteList<Users>((a, b) =>
Sub.Top(12).Select().From(a).InnerJoin(b).On(a.UserId == b.CategoryId).Where(a.UserId == u1.UserId)
);
//子查询
var ListUser8= Sql.ExecuteList<Users>((a, b) =>
Sub.Top(12).Select().From(a).Where(a.UserId.In(
Sub.Select(b.CategoryId).From(b).Where(b.CategoryName.Like("Anna"))))
);
//居然还可以 同时执行同个语句。
var sdfsf1113 = Sql.ExecuteList<Users>((a, b) =>
Sub.Insert(a).Values("213", "111", 11, "2012-02-02").
Next().
Select("213", "111", 11, "2012-02-02").From(a).Where(a.UserId == 123)
);
//数据库需要的都有,还有union,还有事务。大大缩短了我的开发时间。下面是插入,更新,删除。查询速度非常快。目前只支持sql server,听说oracle也快支持了哦。
//插入
Sql.ExecuteNonQuery((a) =>
Sub.Insert(a).Fields(a.UserName, a.RoleId, a.LoginPassword, a.CreateDate).Values("Jane", 11, "213", DateTime.Now)
);
//更新
var sdfsf6 = Sql.ExecuteNonQuery((a) =>
Sub.Update(a).Set(a.UserName == "1").From(a).Where(a.UserId == irod)
);
//删除
var sdfsf2 = Sql.ExecuteNonQuery((a, b) =>
Sub.Delete(a).From(a) .Where(a.UserId == 1)
);



这是下载地址,免费的:
http://download.csdn.net/detail/qq_25613869/8398249
...全文
1056 40 打赏 收藏 转发到动态 举报
写回复
用AI写文章
40 条回复
切换为时间正序
请发表友善的回复…
发表回复
cde32 2015-02-08
  • 打赏
  • 举报
回复
引用 6 楼 github_22161131 的回复:
先不说功能如何,作为一个类库,使用这种spoon/xenocode虚拟化封装/保护简直丧心病狂。你要是独立的程序那无所谓,别人使用个类库,它还自己开启个新的进程,不会自己关掉,安装时候甚至还加入了开机启动…… 标题应该改为:类库封装,史上最傻x的方法,你见过这种方法吗?
哈哈
qq_25613869 2015-02-07
  • 打赏
  • 举报
回复
引用 37 楼 ktei2008 的回复:
[quote=引用 36 楼 qq_25613869 的回复:] [quote=引用 35 楼 xl425107 的回复:] 我感觉没多大的实用性。在架设网站的时候,我不会采用这样的方法来做数据库操作,我更喜欢自己搭建数据查询操作,或者,用EF。
喜欢的话,还可以操作2进制编程,对吧。 故意,说这些,没事找话说。 那你喜欢最厉害,你喜欢找茬,或者你喜欢做什么都行啊。 还来这里干嘛啊,不用来这里看方便,效率。这都遇得到,真是有心啊。[/quote] 人家说的是实话你又不爱听。现在已经不是十年前了,如今数据库操作的技术遍地开花,一抓一大把,两只手都捧不过来。其实你如果做过正经开发的话,你会发现数据层其实很随意……只要你解耦得当,底层数据操作的实现随便换,所以你还费劲重新发明轮子干什么呢?[/quote] 你这个更加明显了,说话这么弯酸啊,数据库这么重要,你认为很随意。 那既然你很随意,不用过来看方便,效率什么的,直接爬。。。
qq_25613869 2015-02-06
  • 打赏
  • 举报
回复
引用 32 楼 cxzzwb 的回复:
SQL存储过程参数化,进程不更小??何必要在代码里搞这么大的动静呢~~~我更倾向于在DB里解决问题!!C#操作的功能只是将结果显示给用户罢了!!
是啊,存储一次,然后,再通过调用,参数封装,传值, 以及创建存储过程,调试。 哪个方便???这个就是直接C#语句就 等于存储过程。 真的在开发中,自己创建存储过程,然后再去调用,测试,传参,返回值检查。 这一系列过程,时间超过现在的好几倍,而且效率也没有优化。
ktei2008 2015-02-06
  • 打赏
  • 举报
回复
引用 36 楼 qq_25613869 的回复:
[quote=引用 35 楼 xl425107 的回复:] 我感觉没多大的实用性。在架设网站的时候,我不会采用这样的方法来做数据库操作,我更喜欢自己搭建数据查询操作,或者,用EF。
喜欢的话,还可以操作2进制编程,对吧。 故意,说这些,没事找话说。 那你喜欢最厉害,你喜欢找茬,或者你喜欢做什么都行啊。 还来这里干嘛啊,不用来这里看方便,效率。这都遇得到,真是有心啊。[/quote] 不过要说发明轮子的话,你还是有机会的。Graph database比较新一些,而且.net下的库也非常少,你可以考虑往Graph database ORM 发展,比如Neo4j。
ktei2008 2015-02-06
  • 打赏
  • 举报
回复
引用 36 楼 qq_25613869 的回复:
[quote=引用 35 楼 xl425107 的回复:] 我感觉没多大的实用性。在架设网站的时候,我不会采用这样的方法来做数据库操作,我更喜欢自己搭建数据查询操作,或者,用EF。
喜欢的话,还可以操作2进制编程,对吧。 故意,说这些,没事找话说。 那你喜欢最厉害,你喜欢找茬,或者你喜欢做什么都行啊。 还来这里干嘛啊,不用来这里看方便,效率。这都遇得到,真是有心啊。[/quote] 人家说的是实话你又不爱听。现在已经不是十年前了,如今数据库操作的技术遍地开花,一抓一大把,两只手都捧不过来。其实你如果做过正经开发的话,你会发现数据层其实很随意……只要你解耦得当,底层数据操作的实现随便换,所以你还费劲重新发明轮子干什么呢?
情若能自控Q 2015-02-06
  • 打赏
  • 举报
回复
引用 16 楼 diaodiaop 的回复:
看到效率我就呵呵了.. 我虽然也是菜鸟一个 不过我个人觉得 如果你真信谈效率 我还是觉得ado.net自带的东西 效率是最高的.. 就好比一群人用easyUI的grid就说比GridView快一样... 我虽然GridView生成一些没用的viewstate,,不过你F12看你生成比viewstate更多的东西 难道这就是快?
看到这个地方我有点疑惑了,由于菜鸟一个对于性能还不是很有观念,想请教下除了Easy UI这种 还有那几个是比较好用的呢?效率也好的
程序猿老曾 2015-02-06
  • 打赏
  • 举报
回复
SQL存储过程参数化,进程不更小??何必要在代码里搞这么大的动静呢~~~我更倾向于在DB里解决问题!!C#操作的功能只是将结果显示给用户罢了!!
qq_25613869 2015-02-06
  • 打赏
  • 举报
回复
引用 35 楼 xl425107 的回复:
我感觉没多大的实用性。在架设网站的时候,我不会采用这样的方法来做数据库操作,我更喜欢自己搭建数据查询操作,或者,用EF。
喜欢的话,还可以操作2进制编程,对吧。 故意,说这些,没事找话说。 那你喜欢最厉害,你喜欢找茬,或者你喜欢做什么都行啊。 还来这里干嘛啊,不用来这里看方便,效率。这都遇得到,真是有心啊。
豬哥 2015-02-06
  • 打赏
  • 举报
回复
我感觉没多大的实用性。在架设网站的时候,我不会采用这样的方法来做数据库操作,我更喜欢自己搭建数据查询操作,或者,用EF。
qq_25613869 2015-02-05
  • 打赏
  • 举报
回复
引用 16 楼 diaodiaop 的回复:
看到效率我就呵呵了.. 我虽然也是菜鸟一个 不过我个人觉得 如果你真信谈效率 我还是觉得ado.net自带的东西 效率是最高的.. 就好比一群人用easyUI的grid就说比GridView快一样... 我虽然GridView生成一些没用的viewstate,,不过你F12看你生成比viewstate更多的东西 难道这就是快?
最近我发现这个是直接存储过程的,当然是这个存储过程的方法快啊。
qq_25613869 2015-02-05
  • 打赏
  • 举报
回复
嗯,谢谢,给这位客官 上咖啡。
qq_25613869 2015-02-05
  • 打赏
  • 举报
回复
引用 21 楼 Joyhen 的回复:
技术分享都是是要支持了,顶一下楼主的分享。 用过太多太多种种orm,最终选择了dapper,开源、灵活、高效,另外,它真的很高效
这个是直接存储过程的,哪个高效啊,没得比的。
晴日无风 2015-01-30
  • 打赏
  • 举报
回复
支持楼主,不一定对大家都有用,只对一部分人有用即可
outcountry 2015-01-29
  • 打赏
  • 举报
回复
引用 15 楼 myhope88 的回复:
好用吗?????
好用,傻瓜似的,灰常好用。
outcountry 2015-01-29
  • 打赏
  • 举报
回复
引用 12 楼 S314324153 的回复:
最牛B
目前,除了微软,估计就是了。
outcountry 2015-01-29
  • 打赏
  • 举报
回复
Sub.Top(8).Select(a.UserId, a.UserName).From(a) 这样不乱七八糟吧,这么直观,方便的
smile840 2015-01-28
  • 打赏
  • 举报
回复
感觉没有那么神奇,不太实用
勇敢的老散户 2015-01-28
  • 打赏
  • 举报
回复
杀马特方法?
joyhen 2015-01-28
  • 打赏
  • 举报
回复
技术分享都是是要支持了,顶一下楼主的分享。 用过太多太多种种orm,最终选择了dapper,开源、灵活、高效,另外,它真的很高效
  • 打赏
  • 举报
回复
自己玩玩还行
加载更多回复(20)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧