Расширения sqlite.net обновляют сущности с помощью внешних ключей
Я сталкиваюсь с проблемой, когда моя сущность имеет отношения один-на-один между одной и той же сущностью более одного раза. Объяснить: '
public class BookEntity : ISyncEntity
{
[PrimaryKey, AutoIncrement]
public int? ID { get; set; }
[ForeignKey(typeof(UserEntity))]
public int AuthorID { get; set; }
[ManyToOne(foreignKey: "AuthorID")]
public UserEntity Author { get; set; }
[ManyToOne(foreignKey: "ReviewerID")]
public UserEntity Reviewer { get; set; }
[ForeignKey(typeof(UserEntity))]
public int ReviewerID { get; set; }
}
'
Здесь и Автор, и Рецензент имеют тип UserEntity. Мы столкнулись с проблемой сохранения этих данных. Идентификатор рецензента неправильно перезаписывается идентификатором автора.
Вот мой псевдокод:
- InsertOrReplaceAsync - BookEntity
- InsertOrReplaceAsync - Автор
- InsertOrReplaceAsync - Рецензент
- UpdateWithChildrenAsync - BookEntity