【发布时间】:2011-12-11 11:17:58
【问题描述】:
我有一个 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”时,“作者”导航属性似乎设置为 null。
这是我的域服务中的代码
public IQueryable<RoleApplication> GetRoleApplications()
{
return this.ObjectContext.ArticleSubmissions.Include("Person");
}
文章提交的元数据
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 的新手。
【问题讨论】:
-
请添加您的实体元数据类。它可以提供帮助。
-
K,完成。我真正想知道的是我是否在我的 xaml 中正确绑定了 authorNameColumn
标签: silverlight binding datagrid ria navigation-properties