LINQ2SQL可变创建
问题描述:
参照实体列我有一个字段LINQ2SQL类 WeekEnding1 WeekEnding2 WeekEnding3 WeekEnding4LINQ2SQL可变创建
我想写使用领域的一些C#中的for循环。
借此例如:
for(int i=1; i<=4; i++)
{
Msgbox(myClass.WeekEnding + i)
}
我认识到,不会工作,但会出现什么?
马尔科姆
答
除非你想进入的东西与反思,这将:
MsgBox(myClass.WeekEnding1);
MsgBox(myClass.WeekEnding2);
MsgBox(myClass.WeekEnding3);
MsgBox(myClass.WeekEnding4);
你可以做你正在尝试与反思做什么的把这个内循环:
PropertyInfo info myClass.GetType()
.GetProperty("WeekEnding" + i.ToString(),
BindingFlags.Public | BindingFlags.Instance);
MsgBox(info.GetValue(myClass, null));
但我会推荐第一种方法!第二种方法必须在每次通过循环时查找有问题的属性,这会增加相当大的开销。
无论如何,您的底层数据模型听起来非常像它可能需要正常化 - 这是一种常见的难闻气味!