NET Core Pages+Bootstrap-一套完整权限系统

通用权限

1、引入命名空间。
using Microsoft.EntityFrameworkCore;

项目结构

新建BBC解决方案。在解决方案下新建BBC_Api,BBC_data,BBC_Service,BBC_Web文件夹。
本次项目采用DB First模式,新建数据库后在包管理控制台下使用
Add:Scaffold-DbContext -Connection “连接字符串” Microsoft.EntityFrameworkCore.SqlServer -OutputDir "创建后放的文件夹"创建对应实体。
1、BBC_data文件夹下新建标准类库,命名Data。
一方面用来映射数据库实体,另一方面用来装在其他的实体,如View实体,逻辑映射实体等。
2、BBC_Service文件夹下新建标准类库,命名Service。
引用Data层,用来实现提供web的逻辑操作。
3、BBC_Web文件夹下新建Web项目,命名web。
引用Data层和Service层,用来实现对用户可视化展示。
4、BBC_Api文件夹下Api项目,命名Api。
引用Data层和Service层,对不同端提供数据接口。

BBC_data

1、新建一个Entity文件。
新建一个Entity文件夹用于存放表对应的实体属性
如图
在这里插入图片描述
2、新建DbContext文件。
新建BBCDbContext类,配置映射关系

namespace Data
{
   
	public class BBCDbContext: DbContext
	{
   
		public BBCDbContext(DbContextOptions<BBCDbContext> options) : base(options) {
    }

		public virtual DbSet<LogLogin> LogLogin {
    get; set; }
		public virtual DbSet<LogOperate> LogOperate {
    get; set; }
		public virtual DbSet<LogPage> LogPage {
    get; set; }
		public virtual DbSet<SysDictionary> SysDictionary {
    get; set; }
		public virtual DbSet<SysMenu> SysMenu {
    get; set; }
		public virtual DbSet<SysMenuRole> SysMenuRole {
    get; set; }
		public virtual DbSet<SysRole> SysRole {
    get; set; }
		public virtual DbSet<SysUser> SysUser {
    get; set; }
		public virtual DbSet<SysUserRole> SysUserRole {
    get; set; }
	}
}

用于实现数据库与项目实体映射桥梁。

BBC_Service

BBC_Web

1、配置数据库连接字符串。
appsettings.json

  "ConnectionStrings": {
   
    "BBC": "Server=.;uid=sunyong;pwd=1qaz!QAZ;Database=BBC;"
  }

2、将连接字符串注入到Starup.cs。
Startup.cs->ConfigureServices。在Starup.cs文件夹下面的ConfigureServices方法下面添加如下代码

//数据库连接映射
  		services.AddDbContext<BBCDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("BBC")));

BBC_Api

1、配置数据库连接字符串。
appsettings.json

  "ConnectionStrings": {
   
    "BBC": "Server=.;uid=sunyong;pwd=1qaz!QAZ;Database=BBC;"
  }

2、将连接字符串注入到Starup.cs。
Startup.cs->ConfigureServices在Starup.cs文件夹下面的ConfigureServices方法下面添加如下代码

//数据库连接映射
  		services.AddDbContext<BBCDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("BBC")));

封装通用方法

BBC_Service

1、新建BaseService文件夹。
ServiceCore.cs用于封装通用的增删查改的方法,用于整表操作。

namespace Service
{
   
	public class ServiceCore<T> where T : class, new()
	{
   
		private BBCDbContext db {
    get; set; }
		public ServiceCore(BBCDbContext _db) {
   
			db = _db;
		}
		public bool Add(T entity) {
   
			db.Set<T>().Add(entity);
			return db.SaveChanges() > 0;
		}
		public bool Remove(T entity) {
   
			db.Entry(entity).State = EntityState.Deleted;
			return db.SaveChanges() > 0;
		}
		public bool Update(T entity) {
   
			db.Entry(entity).State = EntityState.Modified;
			return db.SaveChanges() > 0;
		}
		public T Entity(int id) {
   
			return db.Set<T>().Find(id);
		}
	}
}

2、新建Service.Dal文件夹。
ServiceDal.cs用于封装常用的逻辑操作。注:ServiceCore方法和ServiceDal方法可以合并成一个,这边为了后面用到方便所以这边暂时分开。

namespace Service
{
   
	public class ServiceDal<T> where T : class, new()
	{
   
		private BBCDbContext db;
		public ServiceDal(BBCDbContext _db) {
   
			db = _db;
		}

		public bool Adds(List<T> entities) {
   
			db.AddRange(entities);
			return db.SaveChanges() == entities.Count();
		}
		public bool 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值