我想實現一個通用的存儲庫,使用實體框架。通用T GetByID <K>(K ID_)
我的倉庫被定義爲:
public class GenericRepository<T> : IRepository<T> where T : class
我想補充的地方一般是太傳遞ID的類型的通用GetByID。我真的不希望我的業務邏輯告訴我的類型是e.g ....
_repository.GetByID<int>(123);
我想隱藏tyoe定義,但不能找出哪裏或如何做到這一點。
Stackoverflow上的大多數帖子似乎只有他們的ID作爲整數。我不想要這個,因爲你的標識符並不總是要整數!
關於這個問題的任何想法?
+1,只是輸入相同的東西。我已經使用過這幾次,沒有任何問題。 – 2010-12-18 19:45:20
虛擬-1。這再次沒有解決問題中提出的主要問題。 BL仍然需要知道類型和**這裏的泛型是錯誤的**因爲只有一種類型的鍵是可以接受的。 – Aliostad 2010-12-18 19:50:06
嗯,我不確定TKey在這裏需要泛型。在99%的情況下,例如排除怪異的PK字段和組合鍵,PK將是一個標識(int)。所以'GetById(int id)'就足夠了。我不認爲需要'TKey'。 – RPM1984 2010-12-19 00:03:22