This question is locked. New answers and comments are not allowed.
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