1. 程式人生 > >ABP項目入門踩坑

ABP項目入門踩坑

src load dbconnect 管理 .json fig 連接 登錄 admin

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項目入門踩坑