2015-06-20 49 views
1

我一直在探索在C#中使用數據存儲庫,因爲我在相當一段時間(和我的第一次使用C#)中處理我的第一個「大」應用程序。 特別是我使用了http://web.archive.org/web/20150404154203/https://www.remondo.net/repository-pattern-example-csharp/的一些信息以及MSDN和stackoverflow。IEntity其中鍵/ ID類型未知

我似乎陷入了一些我認爲可能很簡單的事情,但我嘗試過使用Google等,並且它比我想象的要複雜,或者我使用了錯誤的術語。

基本上,當我定義我的IEntity界面是這樣的:

namespace Test.Database 
{ 
    public interface IEntity 
    { 
     int KeyValue { get; set; } 
    } 
} 

,對大多數事情的偉大工程,但這個項目是利用現有的,討厭的數據庫(所以爲什麼我試圖儘可能從數據庫中抽象出我的商業邏輯和其他開發商未來的業務邏輯),其中並非所有密鑰都是整數。有鍵是字符,整數,雙打等。 有沒有一種方法可以使界面的關鍵屬性,類型不可知?還是我以錯誤的方式看待這件事?

+0

我要補充一點,我很想改變數據庫,但一時間,這個新的應用程序將工作並排側與現有的應用程序,所以改變後端將意味着改變現有的應用程序。 –

回答

2

您可以根據自己的情況使用泛型來強制類型化。例,

namespace Test.Database 
{ 
    public interface IEntity<T> 
    { 
     T KeyValue { get; set; } 
    } 
}