2010-03-09 48 views
1

我已經使用Google搜索以找到需要的解決方案,但沒有成功。自動創建屬性 - 從數據庫表中刪除

比方說,我有一個表,如下所示:

ID | KEYID |名稱|說明
1 | 153 |貨幣| XXXXXXXX
2 | 68 |簽名| YYYYYYYY
3 | 983 |聯繫| ZZZZZZZZ 。

現在我想訪問這些值不是由一個集合,因爲我不記得所有的值,讓我們說的名稱。

所以這是不是我想要的東西: Values.Where(V => v.Name == 「貨幣」)選擇(V => v.KeyId)。

表格內容很少發生變化,但它仍然不是一個很好的解決方案,它具有一個包含所有「Names」的結構並獲得像這樣的KeyId。

struct Values 
{ 
    public static int Currency 
    { 
     get { return GetKeyId("Currency"); } 
    } 
} 

我在尋找,創造我自動性能出此表的解決方案。這樣我就可以用智能感知訪問KeyId。正如你在ASP.NET中的Resources一樣。在RESX文件中添加新條目後,該類將自動更新。

例如:Values.Currency,這使我回到相應的KeyId。

感謝您的回覆

回答

0

我相信這個功能已經被添加在C#4.0(尚未發佈),在微軟PDC公佈。然而,即使這種解決方案可能也不會爲您提供Intellisense,因爲您沒有明確輸入任何內容(因爲如果您仔細考慮它,Intellisense將不可能幫助您鍵入將來可能添加的值)。

在此之前,標準做法是使用Dictionary和/或Enum(但字典需要輸入字符串,並且Enum不會自動更新,或者兩者都使用Enum作爲字典的關鍵字以獲得智能幫助)。

+0

聽起來不錯,讓我們看看4.0將擁有該功能。 當然,沒有什麼可以添加到智能感知什麼是沒有打字的地方。但是,對於具有與源文件(RESX)相同的行爲將會很好。我不知道這是否容易。我會盡力在此找出更新。 感謝您的回覆 – Kosta 2010-03-10 15:23:53