Я пытаюсь создать универсальный преобразователь значений для строго типизированных идентификаторов в ядре ef, поэтому я не создаю конвертер для каждого строго типизированного идентификатора, который у меня есть, но теперь я не знаю, как его инициализировать, когда я получаю значение из базы данных.
Или, возможно, есть другой способ добиться этой функциональности, буду признателен за помощь
public interface EntityId {
Guid Identifier { get; init; }
}
public record MoveId(Guid Identifier) : EntityId;
var converter = new EntityIdConverter();
builder
.Property(movie => movie.Id)
.HasConversion(converter);
public class EntityIdConverter : ValueConverter
where TId : EntityId
{
public EntityIdConverter()
: base(
id => id.Identifier,
value => new EntityId(value) // How to initialize id record without using Activator or reflection?
)
{
}
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... -ef-core-8