Używanie NHibernate ICompositeUserType z typem wartości

Mam obiekt modelu domeny, który ma właściwości typu System.DateTimeOffset. Używam bazy danych, która nie obsługuje tego typu natywnie, więc zamierzam ją przechowywać przy użyciu kolumny typu „datetime” i kolumny typu „smallint”.

Wykopałem o tym, jak to mapować przy użyciu komponentów NHibernate i odkryłem, że może działać przy użyciu instancji ICompositeUserType. Jednak po zaimplementowaniu interfejsu natknąłem się na metodę o nazwie „SetPropertyValue”, która rzekomo ustawia właściwość w typie. Ponieważ DateTimeOffset jest typem System.ValueType, samo ustawienie takiej właściwości nie będzie działać, ponieważ jest niezmienne (przynajmniej bez użycia refleksji lub niebezpiecznego kodu, którego chciałbym uniknąć). Ponieważ parametr instancji w SetPropertyValue nie jest „ref”, w jaki sposób można użyć instancji ValueType jako komponentów w NHibernate?

questionAnswers(3)

yourAnswerToTheQuestion