В какой-то момент SimpleRepository не поддерживал перечисления.Если бы у вас был объект POCO с Enum, он не сохранялся бы правильно, вы должны были иметь вспомогательную переменную, которую вы использовали бы, например:
public enum Color
{
Red = 1,
Blue = 2
}
public class Car
{
[SubSonicIgnore]
public Color CarColor
{
get
{
return (Color)ColorMe;
}
set
{
ColorMe= (int)value;
}
}
public int ColorMe;
}
Тогда имя в вашей таблице должно быть названнымпеременной, а не enum.
Эта проблема была решена с помощью недавнего патча на github.
Тем не менее, я все еще вижу проблемы при попытке использоватьGetPaged
var results = Db.GetPaged<Car>(1, 10);
Выдает исключение:
**Tests.Models.NewTests.SimplePagedSearch threw exception: System.InvalidCastException: Invalid cast from 'System.Int32' to 'Models.Car.Color**
Это исключение возникает в строке 95
SubSonic.Extensions.Objects.ChangeTypeTo (значение объекта, тип преобразование Тип)в C: \ TEMP \ subsonic \ SubSonic.Core \ Extensions \ Objects.cs: строка 95