Obecnie pracuję nad projektem MVC 3, który wykorzystuje Fluent NHibernate. I wykorzystać enum System.DayOfWeek ale gdy mapowanie to otrzymałem następujący błąd -Mapowanie DayOfWeek z obszaru nazw System przy użyciu Fluent Nhibernate
Stack Trace:
[MappingException: Could not determine type for: DayOfWeek, for columns: NHibernate.Mapping.Column(WeekStart)]
NHibernate.Mapping.SimpleValue.get_Type() +456
NHibernate.Mapping.SimpleValue.IsValid(IMapping mapping) +40
NHibernate.Mapping.PersistentClass.Validate(IMapping mapping) +123
NHibernate.Mapping.RootClass.Validate(IMapping mapping) +24
NHibernate.Cfg.Configuration.ValidateEntities() +280
NHibernate.Cfg.Configuration.BuildSessionFactory() +43
FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory() +54
[FluentConfigurationException: An invalid or incomplete configuration was used while creating a SessionFactory.
Check PotentialReasons collection, and InnerException for more detail.
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET
Version:4.0.30319.272
Przykład użycia -
Map(x => x.WeekStart).CustomType(typeof(DayOfWeek));
Widziałem ten specyficzny pytanie zadane na listach dyskusyjnych i na stackoverflow ale niuanse nigdy nie były w pełni zrozumiałe, a osoba zadająca pytanie została poproszona o zastosowanie mapowania typu niestandardowego.
Doskonale zdaję sobie sprawę z tego, jak korzystać z funkcji niestandardowych na płynnych mapach i często z nich korzystam. Jednak nie rozumiem, dlaczego tego wyliczenia w szczególności nie można zmapować. Zakładam, że ma coś wspólnego z przestrzenią nazw System, do której należy?
Jeśli ktokolwiek może rzucić jakiekolwiek światło na ten temat, byłbym szczęśliwy.
Dzięki
Czy kiedykolwiek znaleźć odpowiedź na to pytanie? Możesz określić niestandardowy typ int dla wyliczenia, chociaż rzutowanie powoduje, że właściwość jest brudna, co może powodować niepotrzebne aktualizacje. –