ABP项目入门踩坑

Posted ldybyz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ABP项目入门踩坑相关的知识,希望对你有一定的参考价值。

1.下载ABP项目模板,

打开网址https://aspnetboilerplate.com/Templates,选择MultiPage Web Application,输入项目名称和验证码,即可点击Create My Project按钮下载代码

 

2.下载完成之后,会跳到https://aspnetboilerplate.com/Pages/Documents/Zero/Startup-Template-Core页面,即开始文档,按照文档就可以完成入门的操作了。

 

3.安装最新版本的VS2017,必须v15.3.5以上,如果电脑系统是window7,还需要安装更新https://www.microsoft.com/en-us/download/details.aspx?id=40855(power shell 4.0),vs2017的nuget控制台必须要power shell 3.0以上。

 

4.用vs2017打开下载的项目。打开工具->选项->nuget包管理器->程序包源,添加一个程序包源地址:https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json,即下载的项目中aspnet-core文件夹的NuGet文件的地址,

然后生成项目

 

5.生成数据库

(1)在MyABP.Web.Mvc项目下找到appsettings.json文件,根据自己的需要设置数据库连接字符串

(2)打开工具->nuget包管理器->程序包管理器控制台,修改默认项目为MyABP.EntityFrameworkCore,输入Update-Database命令,回车,这里需要执行命令两次,反正我执行一次只有一个没有表的数据库生成。。

(3)设置MyABP.Web.Mvc为启动项目,设置运行为MyABP.Web,不用IIS,运行项目即可看到网站打开登录界面,输入用户名:admin,密码: 123qwe ,即可打开首页

 

(4)点击Tenants,如果是sql2005或者sql2008的数据库,会报错:SqlException: \'OFFSET\' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效

因为ef core默认生成的分页sql不支持低版本的数据库。修改MyABP.EntityFrameworkCore项目中的 MyABPDbContextConfigurer文件如下即可

 public static class MyABPDbContextConfigurer
    {
        public static void Configure(DbContextOptionsBuilder<MyABPDbContext> builder, string connectionString)
        {
            //builder.UseSqlServer(connectionString);
            //支持sql2005,2008的分页
            builder.UseSqlServer(connectionString, b => b.UseRowNumberForPaging());

        }

        public static void Configure(DbContextOptionsBuilder<MyABPDbContext> builder, DbConnection connection)
        {
            //builder.UseSqlServer(connection);
            //支持sql2005,2008的分页

            builder.UseSqlServer(connection, b => b.UseRowNumberForPaging());
        }
    }

  

 

以上是关于ABP项目入门踩坑的主要内容,如果未能解决你的问题,请参考以下文章

ABP 极简入门教程(三 权限)

Abp vnext EFCore 实现动态上下文DbSet踩坑记

ABP学习入门系列

ABP总体介绍 - 入门介绍

Abp VNext实战入门:DbMigrator 自定义项目所需种子数据

ABP学习入门系列(菜单和分页)