使用GridView和ObjectDataSource与泛型

时间:2013-01-22 23:06:37

标签: c# asp.net generics repository objectdatasource

我正在设计一个内部企业应用程序来管理使用ASP.NET(C#),nHibernate和后面的SQL Server的小型企业贷款。

从我所做的大部分阅读中,为每个域对象提供单独的存储库(以及单独的服务层对象)似乎是相当普遍的做法 - 这对我来说似乎有点过分和开销

考虑到这一点,我有一个基本的存储库接口和一个通用的存储库类,用于除了基本的CRUD操作(使用ISession处理)之外没有“特殊要求”的域对象。和ITransaction,代码省略)

// Repository interface:
public partial interface IRepository<T>
{
    void Add(T entity);
    void Update(T entity);
    void Remove(T entity);
    ICollection<T> GetAll();
    T GetByKey(int _ID);
}

// Generic repository - basic CRUD for most domain objects
public partial class BaseRepository<T> : IRepository<T>
{
    protected ISession session;
    ...

    public virtual void Add(T entity)
    { ... }
    public virtual void Update(T entity)
    { ... }
    public virtual void Remove(T entity)
    { ... }
    public virtual ICollection<T> GetAll()
    { ... }
    public virtual T GetByKey(int _ID)
    { ... }
}

如上所述,我希望能够使用此<type>类作为业务对象,而不是拥有几十个与BaseRepository之外的代码完全相同的存储库的代码。 ObjectDataSource,但它未显示为“配置数据源”对话框中的可用选项。

是否可以为此目的使用通用?对于那里的任何ASP.NET MVC专家来说 - 使用该框架比仅使用ASP.NET更容易处理吗?

0 个答案:

没有答案