ASP .NET MVC - 无法更新一对一的数据
创始人
2024-11-11 15:00:16
0次

在ASP .NET MVC中,有时候在更新一对一关系的数据时会遇到问题。下面是一个解决该问题的示例代码。

假设我们有两个实体类:User和Profile,它们之间是一对一的关系。

public class User
{
    public int Id { get; set; }
    public string Name { get; set; }
    public Profile Profile { get; set; }
}

public class Profile
{
    public int Id { get; set; }
    public string Address { get; set; }
    public User User { get; set; }
}

在Controller中,我们可以使用EF Core来更新一对一关系的数据。

public class UserController : Controller
{
    private readonly ApplicationDbContext _context;

    public UserController(ApplicationDbContext context)
    {
        _context = context;
    }

    public IActionResult Edit(int id)
    {
        // 获取要编辑的用户
        User user = _context.Users.Include(u => u.Profile).FirstOrDefault(u => u.Id == id);

        return View(user);
    }

    [HttpPost]
    public IActionResult Edit(User user)
    {
        if (ModelState.IsValid)
        {
            // 更新用户信息
            _context.Users.Update(user);

            // 更新用户的Profile信息
            _context.Profiles.Update(user.Profile);

            _context.SaveChanges();

            return RedirectToAction("Index");
        }

        return View(user);
    }
}

在Edit视图中,我们可以使用表单来编辑用户和Profile的信息。

@model User

这样,当用户提交编辑表单时,会更新User和Profile的信息,并保存到数据库中。

相关内容

热门资讯

黑科技辅助器!在哪里下载微乐自... 黑科技辅助器!在哪里下载微乐自建房辅助软件(辅助器),微乐宁夏捉麻子其实是有透视挂脚本1、这是跨平台...
黑科技透视器!微乐小程序黑科技... 黑科技透视器!微乐小程序黑科技免费(透视器),微乐衡阳十五胡好像真的是有透视挂软件1)微乐小程序黑科...
黑科技透视挂!微信微乐小程序辅... 黑科技透视挂!微信微乐小程序辅助软件(透视挂),微乐河北麻将确实真的是有透视挂方法1、该软件可以轻松...
黑科技作弊器!微乐广西小程序脚... 黑科技作弊器!微乐广西小程序脚本(作弊器),微乐陕西挖坑都是存在有透视挂攻略1、上手简单,内置详细流...
黑科技辅助!微乐自建房插件详细... 黑科技辅助!微乐自建房插件详细教程(辅助),微乐内蒙麻将果然是有透视挂插件1、下载好微乐自建房插件详...
黑科技辅助!微信微乐自建房脚本... 黑科技辅助!微信微乐自建房脚本免费下载(辅助),微乐内蒙麻将本来真的是有透视挂插件进入游戏-大厅左侧...
黑科技透视挂!微信小程序微乐辅... 黑科技透视挂!微信小程序微乐辅助器ios(透视挂),微乐天津麻将手机版好像存在有透视挂工具1、操作简...
黑科技辅助!微乐广西小程序插件... 黑科技辅助!微乐广西小程序插件(辅助),微乐龙江麻将总是真的有透视挂软件在进入微乐广西小程序插件软件...
黑科技作弊器!微乐小程序免费黑... 黑科技作弊器!微乐小程序免费黑科技下载(作弊器),微乐丹东麻将果然真的有透视挂教程1、每一步都需要思...
黑科技透视器!微乐小程序辅助脚... 黑科技透视器!微乐小程序辅助脚本靠谱的(透视器),陕西微乐麻将原来是有透视挂软件1、玩家可以在微乐小...