簡體   English   中英

C#中的DAL接口

[英]DAL Interface in C#

我有一個應用程序,其中每個表都需要以下方法:SelectAll,SelectSingle,SetStatus,保存。

如何在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都有不同的返回類型。 我還不知道該如何完成。

我建議使用泛型,沒有太多理由反對這種選擇。 如果沒有泛型,則必須通過在接口中要求object實例來強制轉換實例或放松類型檢查。 為了更好地了解您在做什么,請閱讀有關.net泛型的協方差和逆方差。 另外,如果可能,請完全放棄此設計(數據訪問層,業務邏輯層,應用程序和表示層),而轉而使用LinQ和存儲庫。

一些指針:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM