2012-04-10 77 views
0

我正在使用Entity Framework 4.0。获取列表而不是简单字段属性

在我的项目中,我需要获取和设置属性值。 一切工作正常,但我必须得到现在名单并且还设置名单的任何类型.. 所以我不知道如何做到这一点。

什么它看起来像一个简单的字段属性(原装代码,的作品):

businnesObject.GetType().GetProperty(entityBase.GetType().Name).SetValue(businnesObject, entityBase, null); 

而我究竟需要的是类似的东西(不工作):

EntityBase mainEntity = (EntityBase)navigationPropertyAnzeigeUserControl.SelectedObject; 
List<Object> collection = (List<Object>)businnesObject.GetType().GetProperty(mainEntity.GetType().Name).GetValue(businnesObject, null); 
collection.Add(mainEntity); 
businnesObject.GetType().GetProperty(mainEntity.GetType().Name).SetValue(businnesObject, collection, null); 

也许有人可以帮助我吗?

回答

0

好做吧..

mainEntity = (EntityBase)navigationPropertyAnzeigeUserControl.SelectedObject; 
        IEnumerable<object> collection = (IEnumerable<object>)businnesObject.GetType().GetProperty("Positionen").GetValue(businnesObject, null); 
        List<object> test = collection.ToList(); 
        test.Add(mainEntity); 
        businnesObject.GetType().GetProperty(LoescheAlleZeichenNachEinemGewissenZeichen(mainEntity.GetType().Name, '_')).SetValue(businnesObject, collection, null);