分配给类似命名的实体属性

时间:2010-12-13 13:02:26

标签: c# entity-framework variable-assignment

这与C#: How do i assign many variables with an integer(i) in for loop?非常相关。

基本上,我有一个实体,其属性为Category1Results,Category2Results,Category3Results ...等等,属于Category60Results。还有大约15个其他属性。这些映射到数据库表。

有没有明智的方法来分配这些?

循环似乎可能有用,其中(例如)名称为Entity.Category + i + Result的属性已分配给,但我不确定如何实现该目标。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

你可以用反射做到这一点。看看this帖子,其中Jon Skeet提供了一个分配对象属性的解决方案。

for(int i = 1; i <= 60; i++)
{
   SetProperty(entity, "Category"+i+"Result", valueYouWantToAssign)
}

Here是循环对象属性的另一个例子。

PropertyInfo[] properties = typeof(MyClass).GetProperties();
foreach(PropertyInfo property in properties)
{
    property.SetValue(instanceOfMyClass, attribute.DataValue, null);
}