我基本上厌倦了编写数据访问层。我认为这是一种无聊且毫无意义的努力。我设想了一个开发环境,我可以在其中创建我的实体/模型并开始构建应用程序。编写 DAL、程序等所花费的时间……只是吞噬了我对一个项目的热情。
我想要的是我的数据的通用存储库接口。就像是:
public interface IRepository
{
//Get individual TEntity item by id
TEntity GetItem<TIdentifier, TEntity>(TIdentifier id);
//Get individual TEntity item by the expression
TEntity GetItem<TIdentifier, TEntity, TArg>(Expression<Func<TArg, TEntity>> expression);
//Get individual TEntity item by the expression
TEntity GetItem<TIdentifier, TEntity, TArg1, TArg2>(Expression<Func<TArg1, TArg2, TEntity>> expression);
//Get all TEntity items
IList<TEntity> GetList<TEntity>();
//Get all TEntity items, filtered by the expression
IList<TEntity> GetList<TEntity, TArg>(Expression<Func<TArg, IList<TEntity>>> expression);
//Get all TEntity items, filtered by the expression
IList<TEntity> GetList<TEntity, TArg1, TArg2>(Expression<Func<TArg1, TArg2, IList<TEntity>>> expression);
TIdentifier CreateItem...
bool UpdateItem...
bool DeleteItem...
}
我对一些有用的东西特别感兴趣
- Azure 数据服务
- SQL 服务器
- sqLite
...但该理论适用于任何数据存储库
有没有人遇到过现成的解决方案,或者我是否必须通过编写比我想动摇的更多的数据访问层来解决问题。
注意:我知道 ORM,我想要一些不需要编写任何 DAL 或存储过程的东西。