Hello,
I have tried using [Include] without any luck.I am trying to show the EmployeeID, LastName, FirstName (amongst other data in other lookup tables) in a gridview.
I have attached an image of the a section of the model object.
(a) is a section of my model - which shows a 1 to many relationship between Employee and Contact.
The employee table is self-referencing. I have edited the Employees in the Employee entity diagram to be DirectReports and Manager.
The Contact table can have multiple records for the same EmployeeID - one for the employee themselves and one for each of their other contacts like spouses.
(b) Section of my metadata class
internal sealed class EmployeeMetadata |
{ |
// Metadata classes are not meant to be instantiated. |
private EmployeeMetadata() |
{ |
} |
[Include] |
[Display(Order = 0)] |
public EntityCollection<Contact> Contacts { get; set; } |
(c) My GetEmployee procedure
public IQueryable<Employee> GetEmployees() |
{ |
return this.ObjectContext.Employees.Include("Contacts").Where(e => e.CurrentFlag == true).OrderBy(e => e.EmployeeID); |
} |
(d) My DDS declaration
<riaControls:DomainDataSource AutoLoad="True" Height="0" LoadedData="EmployeeDDS_LoadedData" d:DesignData="{d:DesignInstance domain:Employee, CreateList=true}" |
Name="EmployeeDDS" QueryName="GetEmployeesQuery" Width="0" > |
<riaControls:DomainDataSource.DomainContext> |
<domain:hrContext /> |
</riaControls:DomainDataSource.DomainContext> |
</riaControls:DomainDataSource> |
(e) and finally, my gridview declaration
<telerik:RadGridView Name="EmployeeRadGridView" ItemsSource="{Binding ElementName=EmployeeDDS, Path=Data}" |
Width="717" Height="333" AutoGenerateColumns="False" RowHeight="15" FontFamily="Lucida Sans Unicode" |
RowLoaded="EmployeeRadGridView_RowLoaded" DataLoading="EmployeeRadGridView_DataLoading" Background="Azure" |
SelectionChanged="EmployeeRadGridView_SelectionChanged" |
AlternateRowBackground="LightSteelBlue" > |
<telerik:RadGridView.Columns> |
<telerik:GridViewDataColumn DataMemberBinding="{Binding Path=EmployeeID}" Header="EmployeeID" Width="100"> |
<telerik:GridViewDataColumn.AggregateFunctions> |
<telerik:CountFunction Caption="Count:" /> |
</telerik:GridViewDataColumn.AggregateFunctions> |
</telerik:GridViewDataColumn> |
<telerik:GridViewDataColumn DataMemberBinding="{Binding Path=LastName}" Header="LastName" Width="100" IsReadOnly="True" /> |
<telerik:GridViewDataColumn DataMemberBinding="{Binding Path=NationalIDNumber}" Header="NationalIDNumber" Width="100"/> |
<telerik:GridViewDataColumn DataMemberBinding="{Binding Path=LoginID}" Header="LoginID" Width="100"/> |
<telerik:GridViewDataColumn DataMemberBinding="{Binding Path=TitleID}" Header="Title"/> |
<telerik:GridViewDataColumn DataMemberBinding="{Binding Path=HireDate}" Header="HireDate" DataFormatString="{}{0:d}" > |
</telerik:GridViewDataColumn> |
</telerik:RadGridView.Columns> |
<telerik:RadGridView.ChildTableDefinitions> |
<telerik:GridViewTableDefinition> |
<telerik:GridViewTableDefinition.Relation> |
<telerik:TableRelation IsSelfReference="True"> |
<telerik:TableRelation.FieldNames> |
<telerik:FieldDescriptorNamePair |
ParentFieldDescriptorName="EmployeeID" |
ChildFieldDescriptorName="ReportsToID"/> |
</telerik:TableRelation.FieldNames> |
</telerik:TableRelation> |
</telerik:GridViewTableDefinition.Relation> |
</telerik:GridViewTableDefinition> |
</telerik:RadGridView.ChildTableDefinitions> |
</telerik:RadGridView> |
Grateful if someone could point out to me what I am missing. This is my 3rd day fighting over this.
HOW DO I GET TO SEE THE LASTNAMES AND FIRSTNAMES ON THE GRID???
Thanks !
J