будет использовать их структуру для составления моего вопроса:
public class Blog
{
public int BlogId { get; set; }
public string Name { get; set; }
public string Url { get; set; }
public string Tags { get; set; }
public ICollection<Post> Posts { get; set; }
}
public class Post
{
public int PostId { get; set; }
public string Name { get; set; }
public bool IsDeleted { get; set;}
}
Цель: использование сущностей и их отношений для получения списка блогов. Мне нужно отфильтровать их перед тем, как показывать их пользователю, а также нужно иметь сообщения определенного типа (например, ведьмы не удаляются), и мне нужно иметь отфильтрованная коллекция при загрузке модели.
Я пытаюсь поместить свой список в качестве ItemSource подробной сетки в Devexpress, а Details - это связанная коллекция сообщений.
Вот моя сторона ViewModel:
ObservableCollection<Blog> BlogsList = new ObservableCollection<Blog>();
var qry = modelContext.Blogs.Select(x => x);
BlogsList = new ObservableCollection<Blog>(qry);
А вот здесь - вид сбоку (здесь я пытаюсь показать все блоги и только не удаленные сообщения:
<dxg:GridControl
AutoPopulateColumns="False"
ItemsSource="{Binding Path=BlogsList}">
<dxg:GridControl.DetailDescriptor>
<dxg:DataControlDetailDescriptor
ItemsSourceBinding="{Binding Posts}"
ShowHeader="False">
<dxg:GridControl>
<dxg:GridControl.View>
<dxg:TableView
</dxg:TableView>
</dxg:GridControl.View>
<dxg:GridControl.Columns>
<dxg:GridColumn
Width="150"
FieldName="Post.Name"
Header="Vardas"
ReadOnly="True" />
</dxg:GridControl.Columns>
</dxg:GridControl>
</dxg:DataControlDetailDescriptor>
</dxg:GridControl.DetailDescriptor>
<dxg:GridControl.View>
<dxg:TableView
Name="Blogs"
AllowBestFit="True"
AllowGrouping="False"
AllowPerPixelScrolling="True"
AutoWidth="True"
NavigationStyle="Cell"
</dxg:TableView>
</dxg:GridControl.View>
<dxg:GridControl.Columns>
<dxg:GridColumn
FieldName="Name"/>
<dxg:GridColumn
FieldName="Url"/>
Visible="True" />
</dxg:GridControl.Columns>
</dxg:GridControl>