ASP.NET Core Template

其他类别 2025-08-24

ASP.NET Core Template

ASP.NET核心的现成模板,带有存储库,服务,型号映射,DI和Stylecop警告。

建立状态

作者

  • 尼古拉·科斯托夫(Nikolay Kostov)
  • Vladislav Karamfilov
  • Stoyan Shopov

包装安装

您可以使用Nuget安装此模板:

dotnet new - i AspNetCoreTemplate
dotnet new aspnet - core - n YourProjectName

打包此模板

dotnet pack .nuget.csproj

项目概述

常见的

AspnetCoreTemplate.Common包含项目解决方案的常见事物。例如:

  • GlobalConstants.CS。

数据

该解决方案文件夹包含三个子文件夹:

  • AspnetCoreTemplate.Data.Common
  • aspnetCoreTemplate.data.models
  • AspnetCoreTemplate.Data

AspnetCoreTemplate.Data.Common

AspnetCoreTemplate.Data.Common.Models提供了抽象的通用类和接口,其中包含有关我们实体的信息。例如,当对象被创建,修改,删除或ISDEATER时。它还包含主键的属性。

AspnetCoreTemplate.Data.Common.RepoSitories提供了两个接口ID eleteTableIntityRepository和iRepository,它们是存储库模式的一部分。

aspnetCoreTemplate.data.models

AspnetCoreTemplate.Data.Models包含Applicationuser和ApplicationRole类,这些类别继承了IdentityRole和IdentityUsers。

AspnetCoreTemplate.Data

AspnetCoreTemplate.DATA包含EF Core的dbContext,迁移和配置。也有种子和存储库功能。

服务

该解决方案文件夹包含四个子文件夹:

  • AspnetCoreTemplate.Services.Data
  • AspnetCoreTemplate.Services.Mapping
  • aspnetCoreTemplate.Services.Messaging
  • AspnetCoreTemplate.Services

AspnetCoreTemplate.Services.Data

AspnetCoreTemplate.Services.Data Wil包含服务层逻辑。

AspnetCoreTemplate.Services.Mapping

aspnetcoretemplate.services.mapping提供了自动映射的简化功能。例如:

 using Blog . Data . Models ;
using Blog . Services . Mapping ;

public class TagViewModel : IMapFrom < Tag >
{
    public int Id { get ; set ; }

    public string Name { get ; set ; }
}

或者,如果您有特定的内容:

 using System ;

using AutoMapper ;
using Blog . Data . Models ;
using Blog . Services . Mapping ;

public class IndexPostViewModel : IMapFrom < Post > , IHaveCustomMappings
{
    public int Id { get ; set ; }

    public string Title { get ; set ; }

    public string Author { get ; set ; }

    public string ImageUrl { get ; set ; }

    public DateTime CreatedOn { get ; set ; }

    public void CreateMappings ( IProfileExpression configuration )
    {
        configuration . CreateMap < Post , IndexPostViewModel > ( )
            . ForMember (
                source => source . Author ,
                destination => destination . MapFrom ( member => member . ApplicationUser . UserName ) ) ;
    }
} 

aspnetCoreTemplate.Services.Messaging

AspnetCoreTemplate.Services.SESVICES,即准备与SendGrid的集成使用。

AspnetCoreTemplate.Services

AspnetCoreTemplate.Services

测试

该解决方案文件夹包含三个子文件夹:

  • AspnetCoreTemplate.Services.data.tests
  • AspnetCoretemplate.web.tests
  • 沙箱

AspnetCoreTemplate.Services.data.tests

AspnetCoreTemplate.Services.data.tests在准备层的Xunit上保存我们的服务层的单元测试。

AspnetCoretemplate.web.tests

AspnetCoreTemplate.Web.tests设置了Selenuim测试。

沙箱

沙箱可用于测试您的逻辑。

网络

该解决方案文件夹包含三个子文件夹:

  • AspnetCoreTemplate.Web.Infrastructure
  • AspnetCoreTemplate.Web.ViewModels
  • AspnetCoreTemplate.Web

AspnetCoreTemplate.Web.Infrastructure

AspnetCoreTemplate.Web.Infrastructure包含诸如中间和过滤器之类的功能。

AspnetCoreTemplate.Web.ViewModels

AspnetCoreTemplate.Web.ViewModels包含对象,将其映射到我们的实体,并在前端/后端使用。

AspnetCoreTemplate.Web

AspnetCoreTemplate.Web自我解释。

支持

如果您有问题,请通过提出新问题让我们知道。

示例项目

  • https://git*hub.com**/nikolayit/presscenters.com
  • https://g*ithu**b.com/nikolayit/nikolay.it

执照

该项目已获得MIT许可证的许可。

下载源码

通过命令行克隆项目:

git clone https://github.com/NikolayIT/ASP.NET-Core-Template.git