1.SqlServer先建好数据库和表
2.新建项目→
项目1.添加文件夹Core,添加类库General.Core
项目2.添加文件夹Domain,添加类库General.Entinies
项目3.添加文件夹Services,添加类库General.Services
项目4.添加文件夹Web,添加MVC项目:General.Web
各自添加引用
- Domain→General.Entinies(添加文件夹Category) 添加实体类Category→对应的属性要验证,…
和上下文类 GeneralDbContext→→构造函数和属性
映射数据库。
namespace General.Entinies.Category
{
[Table("Category")]//手动高亮
public class Category
{
public int Id { get; set; }
[Required]
public string Name { get; set; }
public bool IsMenu { get; set; }
public string SysResource { get; set; }
public string ResourceID { get; set; }
public string FatherResource { get; set; }
public string FatherID { get; set; }
public string Action { get; set; }
public string RouteName { get; set; }
public string CssClass { get; set; }
public int Sort { get; set; }
public bool IsDisabled { get; set; }
}
}
namespace General.Entinies
{
class GeneralDbContext:DbContext
{
public GeneralDbContext(DbContextOptions options):base(options)
{
}
public DbSet<Category.Category> Categories { get; set; }
}
}
4.Services→→General.Services添加文件夹Category,
添加服务类
namespace General.Services.Category
{
public interface ICategoryServices//添加服务接口,依赖注入的方式,注入到Startup类
{
List<Entinies.Category.Category> getAll();
}
}
namespace General.Services.Category
{
public class CategoryService : ICategoryServices
{
private readonly GeneralDbContext _generalDbContext;
public CategoryService(GeneralDbcontext generalDbcontext)
{
this._generalDbContext = generalDbcontext;
}
public List<Entinies.Category.Category> getAll()
{
return _generalDbContext.Categories.ToList();//跳到controller
}
}
}
5.Core→General.Core 里添加引擎上下文类EngineContext
public class EngineContext//引擎上下文类
{ }
5.Startup类及appsettings.json(不好用的话,直接删了,重新添加一个配置文件))
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddDbContextPool<GeneralDbContext>(options =>
options.UserSqlServer(Configuration.GetConnectionString("DefaultConnectionString")));//手动高亮
services.AddAuthentication();//添加权限的过滤
services.AddScoped<ICategoryServices, CategoryService>();//把服务注入进来,就可以对数据库操作了,跳到服务类ICategoryServices
}
5.HomeContoller
public class HomeController : Controller
{
/* private GeneralDbContext _generalDbContext;
不通过这种方式
public HomeController(GeneralDbContext generalDbContext)
{
this._generalDbContext = generalDbContext;
}*/
private ICategoryServices _categoryServices;
public HomeController(ICategoryServices categoryServices)
{
this._categoryServices = categoryServices;
}
public IActionResult Index()
{
// var list = _generalDbContext.Categories.ToList();
var list = _categoryServices.getAll();
return View();
}