В моей базе данных есть поле с плавающей запятой двойной точности, которое хранит секунды после полуночи. У меня есть код в C #, который может преобразовать это число в форму HH: MM: SS.ffffff, где f это доли секунды. У меня также есть код, который может разобрать это обратно в двойной.
Что я хотел бы сделать, так это изменить объект связующего элемента в ASP.NET MVC так, чтобы он использовал методы MY parsing и ToString () вместо тех, которые он обычно использовал бы из типа double, без необходимости писать полный текст. пользовательский переплет.
Могу ли я написать пару методов расширения в c # или использовать несколько удачно расположенных атрибутов, чтобы объект связывателя узнал о моих методах синтаксического анализа и ToString ()?
Вот еще несколько уточнений.
если я предоставлю для представления такую модель, как класс Linq to SQL, MVC может автоматически подключить мои поля к базовой модели данных, при условии, что я использую те же имена для элементов управления в моем представлении, что и в моем модель данных. Если я отправлю свое представление MVC обратно в метод контроллера, я могу записать изменения пользователя обратно в базу данных, вызвав метод UpdateModel в моем классе Controller. Мне не нужно беспокоиться о подключении моих конкретных полей из FormCollection к моему классу данных Linq to SQL, потому что механизм связывания уже сделал это для меня.
Я предполагаю, что для того, чтобы механизм связывания сработал эту магию с обычным числовым двойником, он должен сначала проанализировать входные данные пользователя (возможно, вызвав double.parse) и передать его классу Linq to SQL так что он может обновить базу данных.
Мне нужно использовать свой собственный синтаксический анализатор вместо того, который поставляется с двойным типом данных, для одного из полей в моей модели. Я не хочу брать на себя ответственность за оставшиеся поля.