C# C语言中的DAL接口#
我有一个应用程序,其中每个表都需要以下方法:SelectAll、SelectSingle、SetStatus、Save 如何在DAL中为此设置接口?我一定要使用泛型吗 澄清: 我想知道如何创建一个适用于dal中每个类的接口,或者是否可以不使用泛型列表类型 示例接口,但您必须为接口中的方法声明返回类型:C# C语言中的DAL接口#,c#,interface,C#,Interface,我有一个应用程序,其中每个表都需要以下方法:SelectAll、SelectSingle、SetStatus、Save 如何在DAL中为此设置接口?我一定要使用泛型吗 澄清: 我想知道如何创建一个适用于dal中每个类的接口,或者是否可以不使用泛型列表类型 示例接口,但您必须为接口中的方法声明返回类型: public interface IBaseDB { public SelectAll(); public SelectOne(int id); public void Save(ob
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都有不同的返回类型。我还不知道如何做到这一点。我建议使用泛型,没有太多理由反对这种选择。 如果没有泛型,您将不得不强制转换实例或通过在接口中要求
object
实例来放松类型检查。
为了更好地理解您正在做什么,请阅读.net泛型的协变和逆变。
此外,如果可能的话,完全放弃这种设计(数据访问层、业务逻辑层、应用程序和表示层),转而使用LinQ和存储库
一些建议: