轉載請註明出處:http://www.cnblogs.com/zhiyong-ITNote/ 一直不習慣linq的擴展方法,每次用的時候,賊不順手,尤其是查數據的時候,這不更新個資料庫這麼簡單地需求都搞了一個小時(好吧,也有心不在焉的因素)。總結了一下,代碼如下: private readonly ...
轉載請註明出處:http://www.cnblogs.com/zhiyong-ITNote/
一直不習慣linq的擴展方法,每次用的時候,賊不順手,尤其是查數據的時候,這不更新個資料庫這麼簡單地需求都搞了一個小時(好吧,也有心不在焉的因素)。總結了一下,代碼如下:
private readonly PracticeDevDbContext _context; public DefaultController(PracticeDevDbContext context) { _context = context; } public IActionResult Index() { List<User> newUsers = new List<User> { new User{ Email = "22222", Other="w w w w w", UserName="user 2"}, new User{ Email = "33333", Other="e e e e e", UserName="user 3"}, new User{ Email = "44444", Other="r r r r r", UserName="user 4"}, new User{ Email = "55555", Other="t t t t t ", UserName="user 5"}, new User{ Email = "66666", Other="y y y y y", UserName="user 6"}, new User{ Email = "77777", Other="u u u u u", UserName="user 7"}, }; List<User> oldUsers = _context.Users.ToList(); foreach(var user in newUsers) { var tempUser = oldUsers.Where(o => o.Email == user.Email).FirstOrDefault(); if(tempUser != null) { tempUser.Other = user.Other; tempUser.UserName = user.UserName; _context.Users.Update(tempUser); } else { user.Id = new Random().Next(5,20); _context.Users.Add(user); } } _context.SaveChanges(); return Content("我的測試"); }View Code
其實就是一個這麼簡單地實現,搞了大半天。首先應該或許一個實體對象,然後在做欄位更新,最後使用Update更新,並提交到資料庫
參考:http://www.cnblogs.com/zhouyukai/p/7451534.html
轉載請註明出處:http://www.cnblogs.com/zhiyong-ITNote/