Я получаю следующую ошибку при вставке записей в дочернюю таблицу: почему Entity Framework Core пытается вставить запись в родительскую таблицу (таблицу IdentityUser), когда я прошу ее вставить запись в дочернюю таблицу (Ключевые словаТаблица)?
StackTrace:
An unhandled exception occurred while processing the request.
SqlException: Violation of PRIMARY KEY constraint 'PK_IdentityUser'. Cannot insert duplicate key in object 'dbo.IdentityUser'. The duplicate key value is (39b72c3a-b5bf-43e4-84f9-5cddbe79f6e3).
The statement has been terminated.
Модель:
public class Keyword
{
public Keyword() { }
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int KeywordId { get; set; }
public IdentityUser User { get; set; }
public string Value { get; set; }
[Timestamp]
public byte[] RowVersion { get; set; }
}
Код для сохранения записей в таблице ключевых слов:
var keywords = new List<Keyword>();
var identityUser = await UserManager.GetUserAsync(User);
foreach (var keywordString in keywordsThatNeedToBeSaved)
{
keywords.Add(new Keyword()
{
User = identityUser,
Value = keywordString
});
}
ScrubberDbContext.Keywords.AddRange(keywords);
await ScrubberDbContext.SaveChangesAsync();