我知道这个主题有很多问题。然而,我很困惑为什么我在这种情况下得到这个异常。ObjectDataSource通用无参数选择方法
例外
ObjectDataSource 'investmentDataSource' could not find a non-generic method 'GetAll' that has no parameters
的情况下 环境 - .NET 3.5,ASP,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