У меня есть проект silverlight, где мне нужна сетка данных для отображения данных из моей модели базы данных.Для простоты плохо использую следующую модель.
В сетке данных должны отображаться статьи, которые были отправлены, но не утверждены.Каждое «Представление статьи» имеет «Автор», к которому можно получить доступ через свойство навигации.
Мне нужна сетка данных, содержащая поля из таблиц «Отправка статьи» и «Автор».
<sdk:DataGrid AutoGenerateColumns="False"
ItemsSource="{Binding ElementName=articleApplicationDataSource,Path=Data}"
Name="articleSubmissionDataGrid"
RowDetailsVisibilityMode="VisibleWhenSelected">
<sdk:DataGrid.Columns>
...some column template definitions
<!--THIS LOADS FINE!-->
<sdk:DataGridTextColumn x:Name="articleTitleColumn"
Binding="{Binding Path=Title}" Header="Title" />
<!--THIS DOESN'T-->
<sdk:DataGridTextColumn x:Name="authorNameColumn"
Binding="{Binding Path=Author.Name}" Header="Name" />
</sdk:DataGrid.Columns>
</sdk:DataGrid>
Итак, предположим, что моя сущность «Автор» загружается вarticleSubmissionDataSource (похоже).Является ли мой путь привязки = Author.Name правильным способом доступа к объекту «Автор» через свойство навигации?
Кстати: «articleApplicationDataSource» устанавливается в xaml с помощью «riaControl», подобного этому.
<riaControls:DomainDataSource AutoLoad="True"
d:DesignData="{d:DesignInstance my1:ArticleSubmission, CreateList=true}" Height="0"
LoadedData="roleApplicationDomainDataSource_LoadedData"
name="articleSubmissionDomainDataSource"
QueryName="GetArticleSubmissionsQuery" Width="0" LoadSize="500">
<riaControls:DomainDataSource.DomainContext>
<my:OrganizationContext />
</riaControls:DomainDataSource.DomainContext>
</riaControls:DomainDataSource>
Кроме того, я заметил, что мой метод GetArticleSubmissions моей службы домена возвращает действительную информацию длясвойство навигации «Автор».Однако, когда я проверяю «LoadedDataEventArgs e», свойство навигации «Автор», по-видимому, устанавливается равным нулю.
Вот код моей службы домена
public IQueryable<RoleApplication> GetRoleApplications()
{
return this.ObjectContext.ArticleSubmissions.Include("Person");
}
Метаданные для ArticleSubmission
internal sealed class ArticleSubmissionMetadata
{
// Metadata classes are not meant to be instantiated.
private ArticleSubmissionMetadata()
{
}
[Include]
public Author Author { get; set; }
public DateTime Date { get; set; }
public int ID { get; set; }
public int AuthorID { get; set; }
public string Title { get; set; }
}
}
Пожалуйста, пожалуйста, пожалуйста, помогите.Если вы не понимаете большого беспорядка кода, который я опубликовал, просто укажите мне ссылки, которые объясняют, как связать сущность и сущность свойства навигации вместе в одном месте.
Также, если вы заметили какие-либо действия, которые не соответствуют коду, пожалуйста, дайте мне знать.Я не написал ничего из этого, но мне дали задание заставить его работать.Я новичок в Silverlight.