我有一个应用程序,其中每个表都需要以下方法:SelectAll,SelectSingle,SetStatus,Save。
如何在DAL中设置界面呢?我绝对需要使用泛型吗?
澄清:
我想知道如何创建一个适用于我的dal中每个类的接口,或者如果没有通用列表类型的话。
示例接口,除了您必须为接口中的方法声明返回类型:
public interface IBaseDB {
public SelectAll();
public SelectOne(int id);
public void Save(object);
}
实现接口的示例DAL类
public class UserDB : IBaseDB {
public UserCollection SelectAll() { }
public User SelectOne(int id) { }
public void Save(User user) { }
}
底线:我希望在DAL中为每个类提供所需方法的列表,但DAL中的每个类对SelectAll和SelectOne都有不同的返回类型。我还不知道如何做到这一点。
答案 0 :(得分:1)
我建议使用泛型,没有多少理由反对这种选择。
如果没有泛型,您必须通过在接口中要求object
实例来强制转换实例或放松类型检查。
为了更好地理解你在做什么,请阅读.net泛型的共同和反差。
此外,如果可能的话,完全放弃这个设计(数据访问层,业务逻辑层,应用程序和表示层),转而使用LinQ和存储库。
一些指示: