【发布时间】:2011-12-10 13:07:13
【问题描述】:
我正在使用实体框架,我想将项目的总数存储在一组特定字母的范围内(如果这有意义的话):
A - D (12) - (where 12 is the total amount and the data falls between letters A and D).
E - H (24)
I - L (9)
M - P (62)
Q - T (18)
U - Z (0)
我不太确定如何使用 Dictionary 来做到这一点。
假设我的模型对象由Id 和Title 组成,它被称为Discount。
目前,我有以下内容:
List<Discount> discounts = new List<Discount>();
Dictionary<string, Discount> dict = new Dictionary<string, Discount>();
foreach (DiscountDTO discount in discounts)
{
if (discount.Title.StartsWith("A") ||
discount.Title.StartsWith("B") ||
discount.Title.StartsWith("C") ||
discount.Title.StartsWith("D"))
{
dict.Add("A - D", discount);
} else if (discount.Title.StartsWith("E") ||
discount.Title.StartsWith("F") ||
discount.Title.StartsWith("G") ||
discount.Title.StartsWith("H"))
{
dict.Add("E - H", discount);
} else if (discount.Title.StartsWith("I") ||
discount.Title.StartsWith("J") ||
discount.Title.StartsWith("K") ||
discount.Title.StartsWith("L"))
{
dict.Add("I - L", discount);
} else if (discount.Title.StartsWith("M") ||
discount.Title.StartsWith("N") ||
discount.Title.StartsWith("O") ||
discount.Title.StartsWith("P"))
{
dict.Add("M - P", discount);
} else if (discount.Title.StartsWith("Q") ||
discount.Title.StartsWith("R") ||
discount.Title.StartsWith("S") ||
discount.Title.StartsWith("T"))
{
dict.Add("Q - T", discount);
} else if (discount.Title.StartsWith("U") ||
discount.Title.StartsWith("V") ||
discount.Title.StartsWith("W") ||
discount.Title.StartsWith("X") ||
discount.Title.StartsWith("Y") ||
discount.Title.StartsWith("Z"))
{
dict.Add("U - Z", discount);
}
}
提前致谢。
【问题讨论】:
标签: c# asp.net linq entity-framework list