2.7 手动搭建分层
推荐使用脚手架
Furion
官方提供了非常灵活方便的脚手架,可以快速的创建多层架构项目。
推荐使用 《2.6 官方脚手架》代替本章节功能。
2.7.1 推荐分层设计
Furion
推荐采用多层项目设计架构,每一个项目层的依赖分别是:
YourName.Application
:添加YourName.Core
引用YourName.Core
:添加Furion
引用,SqlSugar 版本添加Furion.Pure
🎗YourName.Database.Migrations
:添加YourName.EntityFramework.Core
引用YourName.EntityFramework.Core
:添加YourName.Core
引用YourName.Web.Core
:添加YourName.Application
,YourName.Database.Migrations
引用YourName.Web.Entry
:添加YourName.Web.Core
引用 和Microsoft.EntityFrameworkCore.Tools
包
特别说明
如果采用 EFCore
以外的 ORM
框架,如 SqlSugar
,那么无需创建 YourName.Database.Migrations
和 YourName.EntityFramework.Core
层。
另外 YourName.Web.Entry
无需引用 Microsoft.EntityFrameworkCore.Tools
包。
2.7.2 集成 Furion
功能
项目搭建好之后,集成 Furion
框架只需要在 Program.cs
中 添加 Inject()
方法即可:
.NET5
版本:
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
namespace YourName.Web.Entry
{
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args)
{
return Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.Inject()
.UseStartup<Startup>();
});
}
}
}
.NET6
版本
var builder = WebApplication.CreateBuilder(args).Inject();
builder.Services.AddControllers().AddInject();
var app = builder.Build();
app.UseHttpsRedirection();
app.UseAuthorization();
app.UseInject();
app.MapControllers();
app.Run();
2.7.3 反馈与建议
与我们交流
给 Furion 提 Issue。