這真是一個兩部分問題(最後)。在沒有數據庫的情況下在C#中構建業務類別集合
比方說,我有一個商業數據庫表。每個企業都有一個類別字段,填充一個類別「slug」(例如,食品餐館 - 巴西餐館)。我只是要在代碼中構建它,而不是構建BusinessCategory數據庫表。事情是這樣的:
public class BizCategory {
public string Slug {get; set;}
public string Name {get; set;}
public string Icon {get; set;}
public string Description {get; set;}
...
public IQueryable<BizCategory>() AllCategories {
List<BizCategory> bizCatList = new List<BizCategory>();
bizCatList.Add(new BizCategory { Slug = "food-restaurant-brazilian", Name = "Brazilian Restaurant", Icon = "icon.png", Description = "Places to eat Brazilian food"});
bizCatList.Add(new BizCategory { Slug = "food-restaurant-italian", Name = "Italian Restaurant", Icon = "icon.png", Description = "Places to eat Italian food"});
bizCatList.Add(new BizCategory { Slug = "food-restaurant-japanese", Name = "Japanese Restaurant", Icon = "icon.png", Description = "Places to eat Japanese food"});
...
return bizCatList.AsQueryable<BizCategory>();
}
}
然後每當我需要一個類別的名稱,通過它的塞我可以打電話給BizCategory.AllCategories().Where(c => c.Slug == "food-restaurant-brazilian").First().Name;
而是打到DB的,這將是從內存中的集合。這個想法是減少表連接和網絡延遲,以提高我的網站的性能。我看到的一個問題是,類別變更需要用代碼完成,難以即時更改。
1)你以前做過嗎?我應該注意的任何特定問題?
2)你知道一個商業類別的好名單的來源嗎?也許類似於list of ad categories on eBay classifieds,但是爲業務類型量身定製。
是不是有沒有你不使用字典的原因? – 2010-10-21 05:15:49
不,只是我從來沒有使用過一個詞典......閱讀它,看起來像詞典是鍵/值對。在我的情況下,BizCategory將有超過2個屬性...在這種情況下字典仍然工作嗎? – Chaddeus 2010-10-21 05:32:15
您也可以緩存數據庫類別 - 這樣,當添加類別時不需要更改代碼。 – 2010-10-21 06:02:59