Есть ли способ, которым я могу сказать EF, чтобы преобразовать мои свойства MultilingualString в строку перед отправкой их в базу данных (и наоборот при извлечении из базы данных)? Я хочу обернуть поведение, чтобы повторно использовать его.Сделать EF преобразовывать свойства строки с литой строкой в строку перед отправкой в базу данных
public class MyEntity
{
// I want this property to be considered a string by EF (it is castable to string)
public MultilingualString MyProperty { get; set; }
}
public class MultilingualString
{
public static implicit operator string(MultilingualString mlString)
{
return mlString.ToJson();
}
public static explicit operator MultilingualString(string json)
{
return new MultilingualString(json);
}
...
}
Один из вариантов заключается в том, чтобы ваш 'MyProperty' был' [NotMapped] 'и имел свойство backing типа' string', которое отображается (MyProperty получит/установит его значение для свойства backing). Надеюсь, это не лучший ответ, так что оставим его как комментарий на данный момент. –
Это именно то, что я делаю повсюду прямо сейчас ... Не нравится, и именно поэтому я прошу ... Спасибо в любом случае: P – billy