run aspnetcore basics

2025-12-07 0 331

这是在现实世界电子商务Web应用程序项目上实现Aspnetrun核基准模板

Aspnetrunbasicrealworld只有一个解决方案,并且仅使用ASP.NET Core&ef.core使用ASPNETCORE组件的一个Web应用程序项目剃刀页,中间Wares,依赖注入,配置,记录。创建基于HTML5,CSS和JavaScript的最小实现ASP.NET Core的网站。您可以使用此样板进行快速实施,最小开发,引导您的想法,创建最低可行产品(MVP),IDEA验证,有限时间的启动开发实现以及使用最新的ASP.NET核心和实体框架核心使用有限的资源。

什么是Aspnetrun?

利用ASP.NET核心技能的最佳途径。登机到完整的堆栈.NET核心开发人员作业。带有实体框架核心ASP.NET核心参考应用程序的样板,展示了具有DDD最佳实践的分层应用程序体系结构。实现Nlayer六角形体系结构(核心,应用程序,基础架构和演示层)和域驱动的设计(实体,存储库,域/应用程序服务,DTO …),并旨在成为一种清洁的体系结构,并应用固有的原理,以便用于项目模板。还实现了最佳实践,例如松散耦合,依赖性的体系结构以及使用依赖注入,记录,验证,异常处理,本地化等的设计模式

您可以从此处检查完整的存储库文档,并逐步开发100+页的电子书PDF -https: //aspnetrun.azurewebsites.net 。还详细介绍了书本和项目结构的介绍中,在中等ASPNETRUN页面上。您可以关注Aspnetrun存储库,以逐步构建ASP.NET核心网络开发技能

Aspnetrun存储库

在这里,您可以从易于到困难找到所有ASPNErun存储库,此列表也可以分别跟踪ASP.NET核心的学习路径

  • RUN-ASPNETCORE-BASICS-构建最快的ASP.NET核心默认Web应用程序模板。该解决方案只有一个解决方案一个通过ASP.NET核心进行想法生成的项目。
  • run –aspnetcore使用实体框架构建ASP.NET核心Web应用程序。CORE并使用DDD最佳实践应用干净的体系结构
  • Run-AspnetCore-CQRS-使用ASP.NET Core&Ef.Core,Web API项目构建单页Web应用程序(SPA),并实现CQRS设计模式
  • RUN-ASPNETCORE-MICROSERVICES-在.NET平台上构建微服务,该平台使用ASP.NET Web API,Docker,RabbitMQ,Ocelot API Gateway,Mongodb,Redis,SQLServer,Entity Core Core,CQR,CQR和CLECTERTENTION

什么包括在此存储库中

我们已经在Run-Appnetcore-Basic样板模板上实现了以下功能。您可以将现实世界的功能作为您的业务需求更改;

  • Bootstrap4主题实现
  • ASP.NET核心内置依赖注入
  • 身份和身份配置
  • 产品页面授权
  • ASPNET核心剃须刀工具 – 查看组件,部分视图,标签助手,模型绑定和验证,剃须刀部分等。

给星星!

如果您喜欢该项目或Aspnetrun对您有所帮助,请给明星。还请提供此存储库,并向我们发送plupquequests 。如果您发现任何问题,请打开问题

入门

使用这些说明使项目启动并运行。

先决条件

您将需要以下工具:

  • Visual Studio 2019
  • .NET Core 3.0或更高版本
  • EF Core 3.0或更高版本

安装

请按照以下步骤设置开发环境:

  1. 克隆存储库
  2. 在根目录中,通过运行来还原所需的软件包:
 dotnet restore
  1. 接下来,通过运行构建解决方案:
 dotnet build
  1. 接下来,在aspnetrun.web目录中,通过运行启动后端:
 dotnet run
  1. 启动http:// localhost:5400/在您的浏览器中查看Web UI。

如果您使用IDE克隆开放解决方案后拥有Visual Studio ,则Aspnetrun.web应该是启动项目。直接使用F5或CTRL+F5在Visual Studio上直接运行该项目。您将看到项目的索引页面,可以导航产品和类别页面,并且可以在浏览器上执行CRUD操作。

用法

克隆或下载示例后,您应该能够立即使用内存数据库运行它。实体框架数据库的默认配置是“ inmemorydatabase” 。如果您希望使用持久数据库的项目使用该项目,则需要在能够运行该应用程序之前运行其实体框架核心迁移,并在startup.cs中更新configuredatabases方法(请参见下文)。

 public void ConfigureDatabases ( IServiceCollection services )
{
            //// use in-memory database
            //services.AddDbContext<AspnetRunContext>(c =>
            //    c.UseInMemoryDatabase(\"AspnetRunConnection\"));

            // add real database dependecy
            services . AddDbContext < AspnetRunContext > ( c =>
                c . UseSqlServer ( Configuration . GetConnectionString ( \"AspnetRunConnection\" ) ) ) ;  
}
  1. 确保您在appsettings.json中的连接字符串指向本地SQL Server实例。

  2. 在Web文件夹中打开命令提示符并执行以下命令:

 dotnet restore
dotnet ef database update - c AspnetRunContext

或者,您可以从Visual Studio Package Manager Console指导呼叫EF命令。打开软件包管理器控制台,将默认项目设置为aspnetrun.infrastructure,并在命令下运行;

 update - database

这些命令将创建包括产品和类别表的Aspnetrun数据库。您可以从Aspnetruncontext.cs看到。

  1. 运行应用程序。您第一次运行应用程序时,它将用一些数据播种Aspnetrun SQL Server数据库,以便您看到产品和类别。

如果您修改 – 更改或添加新的一些实体到核心项目,则应运行EF迁移命令,以便以相同的方式更新数据库,但下面是命令;

 add - migration YourCustomEntityChanges
update - database

项目结构

run-aspnetcore-Basic是使用一个解决方案一个项目实现.NET的默认Web应用程序模板的通用目的,以使用最新的ASP.NET Core&EF Core Technologies来构建现代Web应用程序。

存储库包括用于组实现的文件夹;

  • 数据
    • Aspnetruncontext
    • Aspnetruncontextseed
  • 实体
    • 产品
    • 类别
  • 迁移
    • 由ef.core产生的
  • 页面
    • ASP.NET Core的默认剃须刀Web应用程序模板
  • 存储库
    • iProductrepository
    • productertository
  • wwwroot
  • startup.cs
  • program.cs

数据文件夹

在此文件夹中包括实体框架核心上下文和表。当创建新实体时,应添加到上下文中并在上下文中配置。基础架构项目取决于微软。 EntityFrameWorkCore.SQLServer和EF.Core相关的Nuget软件包,您可以检查基础结构层的Nuget软件包。如果要更改数据访问层,可以很容易地用像Dapper这样的较轻的ORM代替。

迁移

EF添加移民课。

存储库

EF存储库实现。该类负责创建查询,包括,条件等。

实体文件夹

包括实体框架核心实体,该实体可创建使用实体框架核心代码的SQL表First abreach 。一些聚合文件夹保存实体和聚合。您可以在下面看到代码优先实体定义的示例;

 public class Product
    {
        public int Id { get ; set ; }

        [ Required , StringLength ( 80 ) ]
        public string Name { get ; set ; }

        [ Required , StringLength ( 255 ) ]
        public string Description { get ; set ; }

        public int UnitPrice { get ; set ; }        

        public int CategoryId { get ; set ; }
        public Category Category { get ; set ; }
    }

存储库文件夹

该项目与实体框架核心和其他依赖关系中的核心接口实现。应用程序对外部资源的依赖大部分都应在基础架构项目中定义的类中实现。这些类必须实现核心中定义的接口。如果您有一个非常大的项目具有许多依赖项,那么拥有一个以上的基础架构项目(例如基础架构.data)可能是有意义的,但是在大多数项目中,一个包含文件夹效果很好的基础架构项目。这可以包括,例如,电子邮件提供商,文件访问,Web API客户端等。目前,此存储库仅依赖示例数据访问和基本域操作,这样就不会直接链接到您的核心或UI项目。

 public interface IProductRepository
    {
        Task < IEnumerable < Product > > GetProductListAsync ( ) ;
        Task < Product > GetProductByIdAsync ( int id ) ;
        Task < IEnumerable < Product > > GetProductByNameAsync ( string name ) ;
        Task < IEnumerable < Product > > GetProductByCategoryAsync ( int categoryId ) ;
        Task < Product > AddAsync ( Product product ) ;
        Task UpdateAsync ( Product product ) ;
        Task DeleteAsync ( Product product ) ;
        Task < IEnumerable < Category > > GetCategories ( ) ;
    }

同样,实现同一位置,以便在DI Boottrapter时在运行时选择不同的实现。

 public class ProductRepository : IProductRepository
    {
        protected readonly AspnetRunContext _dbContext ;

        public ProductRepository ( AspnetRunContext dbContext )
        {
            _dbContext = dbContext ?? throw new ArgumentNullException ( nameof ( dbContext ) ) ;
        }

        public async Task < IEnumerable < Product > > GetProductListAsync ( )
        {
            return await _dbContext . Products . ToListAsync ( ) ;
        }

        public async Task < Product > GetProductByIdAsync ( int id )
        {
            return await _dbContext . Products
                . Include ( p => p . Category )
                . FirstOrDefaultAsync ( p => p . Id == id ) ;
        }

页面文件夹

通过实施开发UI逻辑。界面可以在此层中推动业务需求和实施。应用程序的主要起点是ASP.NET核心Web项目。这是一个经典的控制台应用程序,在program.cs中具有公共静态空隙主要方法。当前,它使用基于剃须刀页面模板的默认ASP.NET核心项目模板。这包括AppSettings.json文件加环境变量以存储配置参数,并在startup.cs中配置。

使用的组件

  • ASP.NET核心
  • 实体框架核心
  • 剃刀页
    • 脚手架剃须刀
    • 标签助手
    • 绑定
    • 模型验证
    • 导航 – 页面路线
    • 用户界面
    • 部分视图
    • 查看组件
    • 剃刀部分
    • 动态布局
  • 中间
  • 记录
  • 配置
  • 依赖注入

***在此存储库的实际存储库上实现的大多数这些功能。检查现实世界示例。

wwwroot文件夹

ASP.NET Core Project中的wwwroot文件夹被视为Web根文件夹。静态文件可以存储在Web根部下的任何文件夹中,并使用该根的相对路径访问。

在标准ASP.NET应用程序中,可以从应用程序的根文件夹或其下方的任何其他文件夹中提供静态文件。这已在ASP.NET核心中进行了更改。现在,只能通过HTTP请求提供WWWROOT文件夹中WWWROOT文件夹中的那些文件。所有其他文件都被阻止,默认情况下不能提供。

program.cs

ASP.NET Core Web应用程序实际上是一个游戏机项目,它开始从程序类中的入口点public static void main()在该程序类中执行,我们可以在其中为Web应用程序创建一个主机。

startup.cs

ASP.NET核心应用程序必须包括启动类。它就像传统.NET应用中的Global.asax一样。顾名思义,应用程序启动时首先执行。

技术

  • .NET Core 3.0
  • ASP.NET Core 3.0
  • 实体框架核心3.0
  • .NET核心本地DI
  • 剃刀页
  • 汽车应用程序

主要对象

  • ASP.NET核心
  • 实体框架核心
  • 剃刀页
  • 存储库设计模式
  • 多页Web应用程序(MPA)
  • 单层部署体系结构
  • 固体和干净的代码

免责声明

  • 该存储库并不是要成为确定的解决方案。
  • 该存储库未实施很多第三方软件包,我们正在尽力避免在建立最佳实践时进行过度的工程。
  • 当心以生产方式使用。

贡献

请阅读有关我们的行为准则的详细信息以及向我们提交拉的请求的过程的详细信息。

版本控制

我们使用SEMVER进行版本控制。有关可用的版本,请参见此存储库上的标签。

接下来发行和roapmap

有关即将到来的功能和修复的信息,请查看产品路线图。

部署 – 在线aspnetrun

该项目部署在Azure上。请参阅此处在Azure上运行的项目。

拉力重quest

请为此存储库提供,然后将您的发现发送带有拉力重新要求。这是开源存储库,因此可以对贡献开放。

作者

  • Mehmet Ozkaya-初始工作-Mehmetozkaya

另请参阅参与该项目的贡献者列表。

执照

该项目已根据MIT许可证获得许可 – 有关详细信息,请参见许可证文件。

下载源码

通过命令行克隆项目:

git clone https://github.com/aspnetrun/run-aspnetcore-basics.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 开发教程 run aspnetcore basics https://www.zuozi.net/31873.html

angular chosen
上一篇: angular chosen
sp dev fx extensions
下一篇: sp dev fx extensions
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务