因為LINQ和SQL語法邏輯不同,常常忘記,故在此做備忘錄
在Order表格篩選 客戶編號 1及3 的訂單,重點是使用Contains
List<int> QryList = new List<int> { 1, 3 };
var Querys = db.Orders.Where(a => QryList.Contains(a.CustomerID));
或
因為LINQ和SQL語法邏輯不同,常常忘記,故在此做備忘錄
在Order表格篩選 客戶編號 1及3 的訂單,重點是使用Contains
List<int> QryList = new List<int> { 1, 3 };
var Querys = db.Orders.Where(a => QryList.Contains(a.CustomerID));
或
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);

1.VS 操作=> 檔案/新增/專案
2.搜尋 ASP.NET Web, 選 ASP.NET Web應用程式(.Net FrameWork)
PS要不要選有Core的,看專案需求
3.選填相關資料(選 .Net FrameWork 4.7.2以上),按鍵立
4.出現下圖, (1)選MVC (2)選個別使用者帳戶 ,按鍵立
不論是MVC 或 ASP.NET 乃至於WinForm 都會有到config取預設資料的時候
最常見的是資料庫連線字串之外,比如ApiUrl , 正式或測試不同的切換參數......等,
以下便是實作
1.在 Web.config appSettings 區段中加入要從程式讀取的 Property (Key-value)
<appSettings>
需求情境:不同國小學生帳號,設定聯絡Email時需可相同,因為家長可能為同一位
找到MVC專案目錄App_Start 的 IdentityConfig.cs
將 RequireUniqueEmail = false
原預設值為true => Email唯一的意思,
public static ApplicationUserManager Create(IdentityFactoryOptions<ApplicationUserManager> options, IOwinContext context)
var Projects = db.Project.Where(a => a.ProjectsName == null);
有時上面方法會失敗,尚不知原因,
下面有二種方法參考
方法1:宣告一個NullObj,並使用Equals()
object NullObj = null;
使用情境為 刪除或取消某特定資料, 要求再輸入一次密碼時, 如:取消報名課程, 要求輸入帳戶密碼。
網路關於CheckPassword使用範例很少,在此記錄一下:
1.引用
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.Owin;
我的專案使用了微軟內建認證模組(AspNet.Identity及Owin.Security)
一開始很好用,但一要進階微調就伸展不開手腳了,其一,
因為資安的要求,定期變更密碼,又要求不得與前三次密碼相同,要如何寫?
由於Rfc2898屬鹽加密, 每次隨機產生鹽讓即使同樣密碼,產生的HashPassword也不同,
所以無法直接比對前三次密碼
一般網路上找到解答都是在Model裡撰寫
using System.ComponentModel.DataAnnotations;
......
[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true,DataFormatString = "{0:yyyy-MM-dd}")]