【发布时间】:2013-12-16 18:40:04
【问题描述】:
我知道关于这个话题有很多问题。但是,我真的很困惑为什么在这种情况下会得到这个异常。
例外情况
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>
...它应该可以工作。但是,它不起作用。我正在寻找任何建议。谢谢
【问题讨论】:
标签: c# asp.net generics objectdatasource