EF 下如何更新數據表數據


轉載請注明出處: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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM