因為LINQ和SQL語法邏輯不同,常常忘記,故在此做備忘錄

在Order表格篩選 客戶編號 1及3 的訂單,重點是使用Contains

            List<int> QryList = new List<int> { 1, 3 };

            var Querys = db.Orders.Where(a => QryList.Contains(a.CustomerID));

             或

蔡官宏 發表在 痞客邦 留言(0) 人氣()

LINQ像下面寫法就會掛了

var Teams = db.Team.Where(a => a.tid == Session["tid"].ToString());

要改成

string tid = Session["tid"].ToString();

var Teams = db.Team.Where(a => a.tid == tid);

蔡官宏 發表在 痞客邦 留言(0) 人氣()

image

1.VS 操作=> 檔案/新增/專案

2.搜尋 ASP.NET Web, 選 ASP.NET Web應用程式(.Net FrameWork)

  PS要不要選有Core的,看專案需求

3.選填相關資料(選 .Net FrameWork 4.7.2以上),按鍵立

4.出現下圖, (1)選MVC (2)選個別使用者帳戶 ,按鍵立

蔡官宏 發表在 痞客邦 留言(0) 人氣()

不論是MVC 或 ASP.NET 乃至於WinForm 都會有到config取預設資料的時候

最常見的是資料庫連線字串之外,比如ApiUrl , 正式或測試不同的切換參數......等,

以下便是實作

1.在 Web.config  appSettings 區段中加入要從程式讀取的 Property (Key-value)

<appSettings>

蔡官宏 發表在 痞客邦 留言(0) 人氣()

需求情境:不同國小學生帳號,設定聯絡Email時需可相同,因為家長可能為同一位

找到MVC專案目錄App_Start 的 IdentityConfig.cs

將 RequireUniqueEmail = false

原預設值為true => Email唯一的意思,

 public static ApplicationUserManager Create(IdentityFactoryOptions<ApplicationUserManager> options, IOwinContext context) 

蔡官宏 發表在 痞客邦 留言(0) 人氣()

var Projects = db.Project.Where(a => a.ProjectsName == null);

有時上面方法會失敗,尚不知原因,

下面有二種方法參考

方法1:宣告一個NullObj,並使用Equals()

object NullObj = null;

蔡官宏 發表在 痞客邦 留言(0) 人氣()

使用情境為 刪除或取消某特定資料, 要求再輸入一次密碼時, 如:取消報名課程, 要求輸入帳戶密碼。

網路關於CheckPassword使用範例很少,在此記錄一下:

1.引用

using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.Owin;

蔡官宏 發表在 痞客邦 留言(0) 人氣()

我的專案使用了微軟內建認證模組(AspNet.Identity及Owin.Security)

一開始很好用,但一要進階微調就伸展不開手腳了,其一,

因為資安的要求,定期變更密碼,又要求不得與前三次密碼相同,要如何寫?

由於Rfc2898屬鹽加密, 每次隨機產生鹽讓即使同樣密碼,產生的HashPassword也不同,

所以無法直接比對前三次密碼

蔡官宏 發表在 痞客邦 留言(0) 人氣()

一般網路上找到解答都是在Model裡撰寫

using System.ComponentModel.DataAnnotations;

......

[DataType(DataType.Date)]

[DisplayFormat(ApplyFormatInEditMode = true,DataFormatString = "{0:yyyy-MM-dd}")]

蔡官宏 發表在 痞客邦 留言(0) 人氣()

1
Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。