我有一个基于夏普架构的应用程序使用Fluent NHibernate自动映射。我有以下枚举:问题使用FluentNHibernate,SQLite和枚举
public enum Topics { AdditionSubtraction = 1, MultiplicationDivision = 2, DecimalsFractions = 3 }
及以下类:
public class Strategy : BaseEntity { public virtual string Name { get; set; } public virtual Topics Topic { get; set; } public virtual IList Items { get; set; } }
如果我创建正是如此类的一个实例:
策略S =新战略{名称= “测试” ,Topic = Topics.AdditionSubtraction};
它可以正确保存(感谢这个映射约定:
public class EnumConvention : IPropertyConvention, IPropertyConventionAcceptance { public void Apply(FluentNHibernate.Conventions.Instances.IPropertyInstance instance) { instance.CustomType(instance.Property.PropertyType); } public void Accept(FluentNHibernate.Conventions.AcceptanceCriteria.IAcceptanceCriteria criteria) { criteria.Expect(x => x.Property.PropertyType.IsEnum); } }
然而,在检索时(SQLite是我的分贝)我得到关于企图的Int64转换为主题的错误
此。在SQL Server中正常工作。
的解决方法,任何想法?
感谢。