Как сказать структуру Entity Как сохранить экземпляры пользовательского типа (которые могут храниться как скалярные)
-
13-11-2019 - |
Вопрос
Один из моих классов сущности будет возможность хранить в SQL Server база данных как бигинта. Мой вопрос: как я могу получить структуру сущности Контекст, чтобы узнать, как хранить и получать экземпляры моего класса сущности?
Подробнее. Я использую Noda Time , который может представлять собой более широкий диапазон Даты, чем SQL или .NET DateTime (и это десертное пополнение). Мой класс сущности, происходящее, это обертка вокруг Nodatime's Мгновенный класс. Я могу установить происходящее из долгое время и получить долго Происходит с методами, такими как .setfromlong (длинный мгновенный) и .tolong ().
В настоящее время у меня есть мою модель, работающую классы, которые содержат Свойства типа DOT NET DateTime. Если вместо этого я хочу использовать свойства моего пользовательского типа «происходит», как я могу сказать структуре сущности, как спасти их?
Если я читаю эту статью о моделировании и сопоставлении я на Правильный трек или отсутствует что-то проще?
http://msdn.microsoft.com/en-us/library/ BB896343.aspx
Я использую структуру сущности 4.
Решение
Что я рекомендую сделать, это добавление 2 свойств в вашей структуре NODATIME и долгое время и исключает свой свойство Nodatime с использованием [Notmapped] в вашей модели EF, затем в вашем доставке / сдаче обновления длинного.
IE
public class MyEntity{
public long TimeAsLong{get;set;}
[NotMapped]
public Happening {
get{
return new Happening().SetFromLong(TimeAsLong);
}
set {
TimeAsLong = value.ToLong();
}
}
}
.
Эффект этого будет то, что длинный хранится в БД, но вы можете получить доступ к ней на классе через Nodatime