我已经完成了多个使用存储库模式(接口=>存储库)的项目,但现在,我面临着一个新的挑战(不是很大)——我的一位同事的代码。我们正在实现一个包含所有实体类的CRUD操作方法的通用服务。
在这个项目中,我们使用的是数据库优先的方式,并具有以下结构:
aspx.cs => entityclass(AppUser) => Generic Service => Entity model.
这是通用服务:
在这个项目中,我们使用的是数据库优先的方式,并具有以下结构:
aspx.cs => entityclass(AppUser) => Generic Service => Entity model.
public class UserServices : GenericServices<User>
{ //Implemented methods }
这是通用服务:
public class GenericServices<T> where T : class
{
App_dbEntities _db;
IDbSet<T> ent;
public GenericServices()
{
_db = new App_dbEntities();
ent = _db.Set<T>();
}
public IEnumerable<T> Select()
{
return ent;
}
public T Select(string id)
{
??
}
}
我正在尝试处理实体的属性,但由于这是通用的,它不知道我现在正在处理哪个实体。我看到一些示例使用谓词作为函数参数。请帮助我。
return ent.Find(id)
- Thomas