2019年12月30日 星期一

.Net Core 問題6 Scaffold-DbContext Build failed.

承接問題4.Net Core 問題4 DB First
剛發現Build failed
如過自行修改了Scaffold-DbContext所產生的class很容易遇到
目前我是三層式架構所以有多專案在一個方案裡面
測試了兩三次
先將其他專案都移除後再執行Scaffold-DbContext
就可以順利產生class之後再將其他專案加回來
有更好辦法也可提供

2019年12月20日 星期五

.Net Core 問題5 3.0以上版本分頁問題

今天寫了Blazor的Sample專案測試到了分頁時
 stafflist = await this._staffService.GetAll().Skip(1).Take(1).ToListAsync();

出現了下列錯誤
SqlException: 接近 'OFFSET' 之處的語法不正確。 FETCH 陳述式中的選項 NEXT 使用方式無效。 context
後來找到一堆方法
ervices.AddDbContext(options => options.UseSqlServer(ConnectionString));
改成
services.AddDbContext(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 問題4 DB First

必須安裝下列安裝(套件管理主控台)
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
//第一次乾淨時
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 -use-database-names

常遇到Build failed或是直接沒反應

2019年11月21日 星期四

.Net Core 問題3 如何發佈到IIS

.Net Core最有價值的就是跨平台
不用再依附於.net framework 發佈時
以下依需求選擇
1.可選擇.net core版本
2.與Framework相依或獨立
3.發佈到linux osx win

發佈到IIS上其實跟原本設定的方式都一樣
但須特別安裝 .NET Core RunTime.Net Core Windows Server Hosting

發佈到linux可參考官網Linux 上 .NET Core 的必要條件
發佈到Max可參考官網macOS 上 .NET Core 的先決條件

如果程式發佈是winX64時在IIS上啟用32位元則要關掉
否則可能出現,HTTP Error 500.32 - ANCM Failed to Load dll 的錯誤

參考
IIS - 運行 ASP.NET Core 網站
[ASP.net Core] 部署 ASP.net Core 到 IIS 個人踩雷合集

.Net Core 問題2 Visual Studio如何安裝JS/CSS套件問題

開了一個.Net Core 3.0專案後,
習慣性的想要安裝常用必備的套件打開Nugut套件管理員 > 套件管理主控台,
然後貼上常用的語法按Enter跑完了!!
發現疑!!怎麼js都沒安裝,
看了一下內容完全沒有任何.js的文件進來,
找了一篇文章如下參考有寫到可使用Bower,
找一下Bower發現暗黑執行序有文章寫到Bower被放生了,
多了一個Library Manager,使用起來是蠻簡單的。
專案上右鍵 > 加入 > 用戶端程式庫 > 提供者、程式庫輸入條件安裝即可

參考

2019年11月18日 星期一

.Net Core 問題1 .Net Core 3.0 WinForm 無設計畫面

看完了ASP.NET Core 值得學嗎?發覺.net Core的確有學習的必要,
於是先用winform來試試,沒想到發現居然沒設計畫面,
在網路上找到已經有擴充套件及影片C# Tutorial - NET Core 3.0 WinForms Designer | FoxLearn
套件頁面:WINDOWS FORMS: .NET CORE WINDOWS FORMS DESIGNER
使用方法:下載安裝套件,重開VS2019即可
目前尚未遇到有出問題
 參考:
C# Tutorial - NET Core 3.0 WinForms Designer | FoxLearn

2019年9月26日 星期四

c# 日期區間小撇步

通常會開兩個欄位,
一個是日期起,
一個是日期迄,
如何查詢區間內的資料?

舉例:
想知道2019-09-01到2019-09-30之前有哪些人在職
稍微畫個圖後有了靈感
((到職日期 <= 2019-09-30 && 離職日期 >= 2019-09-30)  || (離職日期 =null ))
會就在這個區間