1
如何将相关对象添加到数据库?ASP.NET Core Identity用户关系
我IdentityUser:
public class ApplicationUser : IdentityUser
{
public ICollection<Todo> Todos { get; set; }
}
我的待办事项模式:
public class Todo
{
public int Id { get; set; }
public string Name { get; set; }
public ApplicationUser User { get; set; }
}
我有一个类似的WebAPI/API /待办事项。
[HttpPost]
public async Task<IActionResult> Post([FromBody]string name)
{
var user = await _userManager.GetUserAsync(User);
// _db is IdentityDbContext that I use
var newTodo = new Todo() { Name = "do the laundry" }; // Do I have to specify the user like User = user?
_db.Todos.Add(newTodo);
await _db.SaveChangesAsync();
return CreatedAt(...);
}
问题:我做对了吗?我必须将用户传递给新的Todo项目吗?
我可以以某种方式加入这样的?:
user.Todos.Add(newTodo);
但我将如何保存的待办事项?
是的,你必须通过用户。您是否尝试添加用户并运行代码?乍看起来很好看。 –
@AustinWinstanley你的意思是它看起来应该像'new Todo(){Name =“洗衣服”,User = user};'? – lll
你可以做到这一点,或将其添加到用户待办事项列表,然后调用用户更新并保存更改。你有没有尝试过这些?那应该是你先做的。 –