У меня есть приложение на основе Sharp Architecture, использующее Fluent NHibernate с Automapping.У меня есть следующее Enum:
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; }
}
Если я создаю экземпляр класса таким образом:
Strategy s = новая стратегия{Name = "Test", 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.
Есть идеи для обхода?
Спасибо.