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
你可以做到這一點,或將其添加到用戶待辦事項列表,然後調用用戶更新並保存更改。你有沒有嘗試過這些?那應該是你先做的。 –