使用Fluent Nhibernate从System命名空间映射DayOfWeek

rsw*_*rsw 8 enums fluent-nhibernate c#-4.0

我目前正在开发一个使用Fluent NHibernate的MVC 3项目.我利用System.DayOfWeek枚举,但在映射时我收到以下错误 -

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 
Run Code Online (Sandbox Code Playgroud)

用法示例 -

Map(x => x.WeekStart).CustomType(typeof(DayOfWeek));
Run Code Online (Sandbox Code Playgroud)

我已经在邮件列表和stackoverflow上看到了这个特定的问题,但它的细微差别似乎从来没有被完全掌握,提问的人被提到如何使用自定义类型映射.

我很清楚如何在流畅的地图上使用自定义类型功能并经常使用它.但是我不明白为什么这个枚举特别是无法映射.我认为它与它所属的System命名空间有关?

如果有人能对此有所了解,我会非常高兴.

谢谢

fit*_*ito 1

我获得了 DayOfWeek 枚举的映射来使用此映射。

mapping.Map(x => x.DayOfWeek);
Run Code Online (Sandbox Code Playgroud)

它很好地映射到我的 mssql 数据库中的 nvarchar(255) 。

我的财产看起来像这样

public virtual DayOfWeek DayOfWeek { get; set; }
Run Code Online (Sandbox Code Playgroud)

我使用 NHibernate 版本:3.3.1.4000 和 Fluent Nhibernate 版本:1.3.0.733