C#中的DAL接口

时间:2014-07-08 14:10:21

标签: c# interface

我有一个应用程序,其中每个表都需要以下方法: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都有不同的返回类型。我还不知道如何做到这一点。

1 个答案:

答案 0 :(得分:1)

我建议使用泛型,没有多少理由反对这种选择。 如果没有泛型,您必须通过在接口中要求object实例来强制转换实例或放松类型检查。 为了更好地理解你在做什么,请阅读.net泛型的共同和反差。 此外,如果可能的话,完全放弃这个设计(数据访问层,业务逻辑层,应用程序和表示层),转而使用LinQ和存储库。

一些指示: