Общий преобразователь значений для строго типизированных идентификаторов в ef core 8C#

Место общения программистов C#
Anonymous
Общий преобразователь значений для строго типизированных идентификаторов в ef core 8

Сообщение Anonymous »

Я пытаюсь создать универсальный преобразователь значений для строго типизированных идентификаторов в ядре 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

Вернуться в «C#»