Я пытался использовать SubSunsonic.ActiveRecord в проекте SL3, который использует .NET RIA Services.
Однако, когда я пытаюсь вернуть некоторый IQuerable в классе DomainService, я получаю ошибку, что классы, сгенерированные Subsonic, имеют свойство 'Columns' с неподдерживаемым типом.
Вот что у меня есть
public IEnumerable<SE_NorthWind.SuperEmployee> GetIntegers()
{
return SE_NorthWind.SuperEmployee.All()
.Where(emp => emp.Issues > 100)
.OrderBy(emp => emp.EmployeeID);
}
И это ошибка, которую я получаю
Error 7 Entity 'SE_NorthWind.SuperEmployee' has a property 'Columns' with an unsupported type. SuperEmployee
Есть идеи, что делать? На самом деле не хочу использовать Linq для SQL :)
Thx
P.S. Только что попробовал LinqTemplates от SubSonic, но в этом решении я получаю ошибку
Error 4 The entity 'SE_NorthWind.SuperEmployee' does not have a key defined. Entities exposed by DomainService operations must have must have at least one property marked with the KeyAttribute. SuperEmployee
конечно, таблица SuperEmployee имеет первичный ключ, потому что классы, сгенерированные SubSonic, могут ее видеть
...
Columns.Add(new DatabaseColumn("EmployeeID", this)
{
IsPrimaryKey = true,
DataType = DbType.Int32,
IsNullable = false,
AutoIncrement = true,
IsForeignKey = false,
MaxLength = 0
});
...
Но объекты RIA, им нужны некоторые атрибуты. Я думаю, мне придется идти с родным Linq To SQL, пока SubSonic не адаптируется ко всему этому: (