public void SetItems(List <object> results) { Items = new ObservableCollection <object>(results); //EntityGridView viewCast = (View as EntityGridView); //List<Issue> issues = new List<Issue>(); //issues.AddRange(results.Cast<Issue>()); //viewCast.dataGridControl.ItemsSource = Items; //viewCast.dataGridControl.ItemsSource = issues;// new List<Tuple<string, string>> { new Tuple<string, string>("C1", "C2") }; //viewCast.devDataGrid.ItemsSource = Items; //foreach(var property in ) //viewCast.dataGridControl.Columns.Add(new Xceed.Wpf.DataGrid.Column(fieldName, displayMemberBinding)) foreach (var itemUncast in Items)//.Cast<IModelObject>()) { IModelObject item = itemUncast as IModelObject; item.Relationships = new List <List <object> >(); var type = item.GetType(); var relationshipProperties = item.GetNavigationProperties(); foreach (var relatedProperty in relationshipProperties) { if (relatedProperty.PropertyType.IsGenericType && relatedProperty.PropertyType.GetGenericTypeDefinition() == typeof(ICollection <>)) { var relatedItem = relatedProperty.GetValue(item); //List<object> something = new List<object>(relatedItem); var hash = relatedItem as IEnumerable; var relatedItemList = new List <object>();// hash.ToList<PollIssue>(); foreach (var existing in hash) { relatedItemList.Add(existing); } //relatedItemList.Add(new PollIssue() { Id = 1 }); //relatedItemList.Add(new PollIssue() { Id = 2 }); //relatedItemList.Add(new PollIssue() { Id = 3 }); item.Relationships.Add(relatedItemList); } } item.IsChanged = false; } SelectedItem = Items.FirstOrDefault() as IModelObject; IsLoading = false; }