❤️ 关注 Furion 微信公众号有惊喜哦!
Skip to main content

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.ApplicationYourName.Database.Migrations 引用
  • YourName.Web.Entry:添加 YourName.Web.Core 引用 和 Microsoft.EntityFrameworkCore.Tools
特别说明

如果采用 EFCore 以外的 ORM 框架,如 SqlSugar,那么无需创建 YourName.Database.MigrationsYourName.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