您的位置:首页 > 数据库

C# 访问 SQL SERVER 数据库帮助类

2017-08-02 09:26 232 查看
写一个属于自己的数据库帮助类,温故而知新~~

数据库操作核心部分:

1     /// <summary>
2     /// 用于单个数据库操作
3     /// </summary>
4     public class QueryService
5     {
6         /// <summary>
7         /// 数据库名
8         /// </summary>
9         public static DbServiceBase MaiDb
10         {
11             get
12             {
13                 return new DbServiceBase(DbConnStrKey.MaiDb);
14             }
15         }
16     }
17
18     /// <summary>
19     /// 用于一组数据库操作
20     /// </summary>
21     public class UnitService
22     {
23         /// <summary>
24         /// 数据库名
25         /// </summary>
26         public static DbServiceBase MaiDb
27         {
28             get
29             {
30                 return new DbServiceBase(DbConnStrKey.MaiDb, false);
31             }
32         }
33
34     }


View Code
以下是Demo



1         public static int Add(object model)
2         {
3             return QueryService.MaiDb.Create<SYS_Resource>(model);
4         }




exec sp_executesql N'insert into SYS_Resource (ResoId,ResoParentId,ResoType,ResoName,ResoUrl,ResoDesc,ResoIsShow,ResoOrder) values (@ResoId,@ResoParentId,@ResoType,@ResoName,@ResoUrl,@ResoDesc,@ResoIsShow,@ResoOrder)',N'@ResoId nvarchar(36),@ResoParentId nvarchar(36),@ResoType nvarchar(4),@ResoName nvarchar(4),@ResoUrl nvarchar(4000),@ResoDesc nvarchar(4000),@ResoIsShow bit,@ResoOrder int',@ResoId=N'cbaf5484-cdcb-4511-afee-0abb7937d31d',@ResoParentId=N'89fa1a64-6e49-42b9-b2a7-bd5fce0ea54e',@ResoType=N'page',@ResoName=N'添加资源',@ResoUrl=N'',@ResoDesc=N'',@ResoIsShow=1,@ResoOrder=0
go




1         public static ServiceResult Del(string ResoId)
2         {
3             var result = new ServiceResult();
4             using (var dbs = UnitService.MaiDb)
5             {
6                 TryCatch(()=>{
7                     var hasChildren = dbs.Exist<SYS_Resource>(w => w.ResoParentId == ResoId);
8                     if (hasChildren)
9                     {
10                         result.IsFailure("删除失败!该资源有下属资源!");
11                         return;
12                     }
13                     else
14                     {
15                         dbs.Delete<SYS_Resource>(w => w.ResoId == ResoId);
16                     }
17                 },result);
18             }
19             return result;
20         }




exec sp_executesql N'select count(*) from SYS_Resource  where (ResoParentId = @para1)',N'@para1 nvarchar(36)',@para1=N'cbaf5484-cdcb-4511-afee-0abb7937d31d'
go
exec sp_executesql N'delete from SYS_Resource  where (ResoId = @para1)',N'@para1 nvarchar(36)',@para1=N'cbaf5484-cdcb-4511-afee-0abb7937d31d'
go




1         public static IList<SYS_Resource> FindList()
2         {
3             return QueryService.MaiDb.FindList<SYS_Resource>();
4         }






1         public static int Update(object model, Expression<Func<SYS_Resource, bool>> where)
2         {
3             return QueryService.MaiDb.Update<SYS_Resource>(model, where);
4         }




exec sp_executesql N'update SYS_Resource set ResoType = @ResoType,ResoName = @ResoName,ResoUrl = @ResoUrl,ResoDesc = @ResoDesc,ResoIsShow = @ResoIsShow,ResoOrder = @ResoOrder,ResoUpdateTime = @ResoUpdateTime  where (ResoId = @para1)',N'@ResoType nvarchar(4),@ResoName nvarchar(4),@ResoUrl nvarchar(4000),@ResoDesc nvarchar(4000),@ResoIsShow bit,@ResoOrder int,@ResoUpdateTime datetime,@para1 nvarchar(36)',@ResoType=N'page',@ResoName=N'编辑角色',@ResoUrl=N'',@ResoDesc=N'',@ResoIsShow=0,@ResoOrder=0,@ResoUpdateTime='2017-08-01 15:37:47.597',@para1=N'3e2fb3cb-92f6-44cb-80a1-3b15157d53c5'
go


一组数据库操作

1         public static EditModel Find(string ResoId)
2         {
3             EditModel editModel = new EditModel();
4             using (var dbs = UnitService.MaiDb)
5             {
6                 editModel.model = dbs.Find<SYS_Resource>(s => s, w => w.ResoId == ResoId);
7                 if (!editModel.model.IsNull())
8                 {
9                     var ds = dbs.ExecuteQuery<SYS_Resource>("select ResoName from SYS_Resource where ResoId = @ResoId", new SqlParameter[1] { new SqlParameter("@ResoId", editModel.model.ResoParentId) });
10                     if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
11                     {
12                         editModel.ResoParentName = ds.Tables[0].Rows[0][0].ToString();
13                     }
14                 }
15             }
16             return editModel;
17         }




exec sp_executesql N'select * from SYS_Resource  where (ResoId = @para1)',N'@para1 nvarchar(36)',@para1=N'89fa1a64-6e49-42b9-b2a7-bd5fce0ea54e'
go
exec sp_executesql N'select ResoName from SYS_Resource where ResoId = @ResoId',N'@ResoId nvarchar(36)',@ResoId=N'74f6bb3b-8995-49b7-9b4b-db0e34aac304'
go


事务操作

1             using (var dbs = UnitService.MaiDb)
2             {
3                 try
4                 {
5                     dbs.BeginTransaction();
6                     //你的代码...
7                     dbs.CommitTransaction();
8                 }
9                 catch (Exception ex)
10                 {
11                     dbs.RollbackTransaction();
12                 }
13             }


Lambda如何转换SQL语句,请参考lambda表达式转换sql

码农的世界,不知道可以走多远,坚持多久,好好珍惜当下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐