В какой-то момент SimpleRepository не поддерживает перечисления. Если у вас есть объект POCO с Enum не будет сохраняться правильно, вы должны иметь переменную подкладочный, который вы будете использовать, например:Subsonic Simplerepository GetPaged <T> Проблемы с перечислением
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;
}
Имя в таблице будет тогда быть названным из переменная, а не перечисление.
Эта проблема была устранена недавним патчем на 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 (значение объекта, тип conversionType) в C: \ TEMP \ subsonic \ SubSonic.Core \ Extensions \ Objects.cs: строка 95