ABP项目入门踩坑

优主张 2018-02-11

1.下载ABP项目模板,

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

ABP项目入门踩坑

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 ,即可打开首页

ABP项目入门踩坑

(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());
        }
    }

相关推荐