前面做项目,有数据库操作太慢。
而且,有一些新的程序员,他们对数据库操作的经验比较欠缺,
而且,.net需要学的东西就非常多,涵盖很多,还要程序员精通数据库,就更加麻烦,没有好多年的经验,
操作数据库的,一检查就有很多问题。所以,根据需要,我就找到了这个
简单的,高效,快速,方便的 .net数据库操作方案。非常直观。不需要懂数据库都能开发了。
找了好久,总算找到了,分享给大家。
----------------------------
------------------------------
SqLamdalf1.0
----------================-----------================---------
.net与数据库最佳操作类。
无缝衔接sql server和.net。
不需要为操作数据库再话费大量的开发时间,节约开发成本,以及更高效,更快速,更方便。
以后将陆续支持更多的数据库。
----------================-----------================---------
SqLamdalf1.0免费版,欢迎使用。
使用方法:
双击setup.exe 安装以后。
桌面会出现 SqLamdalf
然后直接添加到需要的程序引用中,就可以使用了。
==============================================================
调用方法:
using SqlLamdalf;
//工厂方法建立连接字符串
SqlLamdalf.FactoryAnna factorySql = new SqlLamdalf.FactoryAnna(AnnaType.SqlServer,
"Persist Security Info=False;Integrated Security=SSPI;Database=数据库名称;Server=sql服务器名称");
//对需要的表的对象建立对象Sql。下面例子中为两个表,目前已经支持9个表:
var Sql = factorySql.Create<Users, Role>();
//目前支持返回 1实体类Sql.ExecuteEntity,2实体类列表,3表格,4字符串,5int
var sdfsf123 = Sql.ExecuteList<Users>((a, b) =>
Sub.Top(8).Select(a.UserId, a.UserName).From(a)
);
//目前支持返回 1实体类Sql.ExecuteEntity,2实体类列表,3表格,4字符串,5int
var sdfsf123 = Sql.ExecuteList<Users>((a, b) =>
Sub.Top(8).Select(a.UserId, a.UserName).From(a)
);
//分页查询如下,注意OrderBy免费版请取消
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())
);
//如需执行多条语句,请在语句后面加上Next()
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 == 123123)
);
//下面是联结方式的多表查询,支持各种联结查询,&&意味and,LikeLeft意为Like '%name',LikeRight
var sdfsf21 = Sql.ExecuteNonQuery((a, b) =>
Sub.Update(a).Set(a.RoleId == u1.RoleId, a.LoginPassword == irod.ToString(), a.UserName == "2").From(a).
InnerJoin(b).On(a.UserId == b.CategoryId)
.Where(a.UserId == 1 && (a.UserName + "123").LikeLeft(u1.UserName))
);
//下面是子查询方式的多表查询In 的使用方法
var ListUser8= Sql.ExecuteList<Users>((a, b, c) =>
Sub.Top(12).Select().From(a).Where(a.UserId.In(
Sub.Select(b.CategoryId).From(b).Where(b.CategoryName.Like("Anna"))
))
);
//下面是GroupBy,免费版本中,请避免使用
var ListUser8= Sql.ExecuteList<Users>((a, b, c) =>
Sub.Top(12).Select().From(a).Having(a.UserID=1).GroupBy(a.UserId.Asc)
);
//下面是Case,When,Else,End的查询条件过滤方式
var t1 = Sql.ExecuteList<Users>((a, b) =>
Sub.Top(8).Select(
Sub.Case(a.CreateDate).When(System.DateTime.Now).Then("123").End().As("时间"),
Sub.Case().
When(a.UserId==1).Then("123").
When(a.UserId==2 && a.UserName!="1").Then(a.UserName).
Else("wer").End().As("用户名")
).From(a)
);
//查询语句中,用到的Sql系统函数
var ListUser222 = Sql.ExecuteList<Users>((a, b) =>
Sub.Select(
Fn.Getdate().As("服务器当前时间"),
Fn.Convert(SqlType.Int,"123").As("转换类型")).
From(a).Where(a.UserId == 2)
);
//下面是插入语句,这里是指明需要插入的列来插入
Sql.ExecuteNonQuery((a) =>
Sub.Insert(a).Fields(a.UserName, a.RoleId, a.LoginPassword, a.CreateDate).Values("D", 11, "213", DateTime.Now)
);
//下面是插入语句,这里是全表插入,
Sql.ExecuteNonQuery((a) =>
Sub.Insert(a).Values("D", 11, "213", DateTime.Now)
);
Sql.ExecuteNonQuery((a) =>
Sub.Delete(a).From(a).Where(a.UserName.Like("Anna"))
);
//下面是插入语句,直接对整个对象进行插入,非常方便,免费版请避免使用
Users u1 = new Users();
u1.RoleId = 1;
u1.UserName = "name";
u1.LoginPassword = "Password";
Sql.ExecuteNonQuery((a) =>
Sub.InsertMode(u1 )
);
//下面是删除语句
Sql.ExecuteNonQuery((a) =>
Sub.Delete(a).From(a).Where(a.UserName.Like("Anna"))
);
//下面是更新,修改语句
Sql.ExecuteNonQuery((a) =>
Sub.Update(a).Set(a.UserName == "1231").From(a).Where(a.UserId == iUser)
);
----------================-----------================---------
http://item.taobao.com/item.htm?spm=686.1000925.0.0.UwogQE&id=43592485715
更多问题,可在网站中留言。
----------================-----------================---------
免费版,包含基本的一些数据库,特殊的有些功能限制。
限制功能如下,的使用用到限制功能,返回为空,不会执行数据库操作,
使用免费版,请避开 如下限制功能:
1 分页PageSize PageIndex;
2 skip;
3 group
4 union,Union All
5 insertmode
6 select * ,Select()
7 update
8 orderby
==============================================================
- 1
- 2
前往页