Я знаю, что на эту тему было много вопросов. Тем не менее, я действительно смущен, почему я получаю это исключение в этом случае.ObjectDataSource общий метод выбора без параметров
Исключение
ObjectDataSource 'investmentDataSource' could not find a non-generic method 'GetAll' that has no parameters
Дело среда - .net 3.5, осина, SharePoint 2010 (это не имеет значения)
Объект хранилища наследует от родового объекта хранилища и это выглядит так:
public class InvestmentRepository : Repository<Investment, EntityContext>, IInvestmentRepository
{
// ...
}
Общий репозиторий выглядит следующим образом:
public abstract class Repository<TEntity, TContext> : IRepository<TEntity>
where TEntity : EntityObject, new()
where TContext : ObjectContext, new()
{
public IQueryable<TEntity> GetAll()
{
// returns all entities from context
}
}
Я полагаю, что во время компиляции метод на InvestmentRepository создан, который выглядит следующим образом:
public IQueryable<Investment> GetAll()
Так что я полагаю, что, когда я создаю ObjectDataSource как это:
<asp:ObjectDataSource
ID="investmentDataSource"
runat="server"
OnObjectCreating="DataSourceObjectCreating"
TypeName="Model.InvestmentRepository"
SelectMethod="GetAll">
</asp:ObjectDataSource>
... он должен работать. Однако это не работает. Я ищу любые предложения. Спасибо
К концу дня я думал то же самое, молча надеясь, что будет более простое решение. Чтобы облегчить мою жизнь, я поместил этот метод в пользовательский элемент управления или в репозиторий. Первое - более вероятно. – Santhos