我有一個基於夏普架構的應用程序使用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中正常工作。
的解決方法,任何想法?
感謝。