承接問題4.Net Core 如何採用DB First
剛發現Build failed
如過自行修改了Scaffold-DbContext所產生的class很容易遇到
目前我是三層式架構所以有多專案在一個方案裡面
測試了兩三次
先將其他專案都移除後再執行Scaffold-DbContext
就可以順利產生class之後再將其他專案加回來
有更好辦法也可提供
2023-10-31補充更新
model的專案設定成預設專案後再執行即可
2019年12月30日 星期一
2019年12月20日 星期五
.Net Core 3.0以上版本分頁問題
今天寫了Blazor的Sample專案測試到了分頁時
出現了下列錯誤
微軟提到了已移除 UseRowNumberForPaging 目前可能只有兩條路
1.升級SQL Server
2.降低.Net Core版本
3.Dapper或其他可直接下SQL語法
stafflist = await this._staffService.GetAll().Skip(1).Take(1).ToListAsync();
出現了下列錯誤
SqlException: 接近 'OFFSET' 之處的語法不正確。 FETCH 陳述式中的選項 NEXT 使用方式無效。 context後來找到一堆方法
services.AddDbContext<CoreSampleContext>(options => options.UseSqlServer(ConnectionString));改成
services.AddDbContext<CoreSampleContext>(options => options.UseSqlServer(ConnectionString,build =>build.UseRowNumberForPaging()));很好一樣出錯,後來找到了原因,目前使用的資料庫是SQL Server 2008R2
微軟提到了已移除 UseRowNumberForPaging 目前可能只有兩條路
1.升級SQL Server
2.降低.Net Core版本
3.Dapper或其他可直接下SQL語法
2019年12月9日 星期一
.Net Core 如何採用DB First
必須安裝下列安裝(套件管理主控台)
方法1.將專案設為起始專案
方法2.移除其他專案再執行在加回其他專案
方法3.檢查是否其他地方有錯誤
參考來源
ASP.NET Core 3.0 如何使用 Database First
“Build failed” on Database First Scaffold-DbContext How to prevent Entity Framework Core 2.0 from Renaming Tables and Columns in Generated Classes (Database First)
Scaffold-DbContext
Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 3.1.0 Install-Package Microsoft.EntityFrameworkCore.SqlServer.Design -Version 1.1.6 Install-Package Microsoft.EntityFrameworkCore.Tools -Version 3.1.0
Install-Package Microsoft.EntityFrameworkCore.SqlServer Install-Package Microsoft.EntityFrameworkCore.SqlServer.Design Install-Package Microsoft.EntityFrameworkCore.Tools//第一次乾淨時
Scaffold-DbContext "Server=192.168.0.1;Database=Sample;user id=sa;password=1234567;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Project sample.model//有更新時
Scaffold-DbContext "Server=192.168.0.1;Database=Sample;user id=sa;password=1234567;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Project sample.model -Force//需與原資料庫同檔名時
Scaffold-DbContext "Server=192.168.0.1;Database=Sample;user id=sa;password=1234567;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Project sample.model -UseDatabaseNames常遇到Build failed或是直接沒反應
方法1.將專案設為起始專案
方法2.移除其他專案再執行在加回其他專案
方法3.檢查是否其他地方有錯誤
參考來源
ASP.NET Core 3.0 如何使用 Database First
“Build failed” on Database First Scaffold-DbContext How to prevent Entity Framework Core 2.0 from Renaming Tables and Columns in Generated Classes (Database First)
Scaffold-DbContext
訂閱:
文章 (Atom)