【问题标题】:How to Show Lookups using Silverlight 4.0 and RIA Services如何使用 Silverlight 4.0 和 RIA 服务显示查找
【发布时间】:2011-10-07 08:18:37
【问题描述】:

我有一个关系数据库,可以说它由一个员工表和部门表以及一个员工类型表组成。

员工的表有一个DepartmentId,EmployeeTypeId外键

现在我创建了一个带有实体数据模型的 Silverlight 应用程序并生成了一个域服务类

现在我想在网格中显示员工信息.. 当然我不能在网格中显示部门名称和 EmployeeType 名称

我必须在我的元数据中使用 Include Data 注释..

我这样做了 .. 但是如何在一个查询中显示所有包含的字段?

我用过这个

public IQueryable<Employee> GetEmployeesWithDepartments()
{
      return this.ObjectContext.Employees.Include("Department.EmployeesType");
}

但我设法只显示了部门.. 其他外键呢?

如何将它们添加到我的查询中?

【问题讨论】:

  • 请不要大喊大叫,粗体更好。

标签: silverlight silverlight-4.0 wcf-ria-services


【解决方案1】:

当您绑定到 Employee - 您访问部门 id 类似于:

{Binding Employee.Department.Id} 

然后你像访问 EmployeeType 一样

{Binding Employee.EmployeesType.Id}

这是你问的吗?

【讨论】:

  • 不完全是在 RIA 服务中,如果不包含它们,您将无法访问这样的二级对象......我做到了......但我不知道在使用 GetEmployeesWithDepartments 的网格中呈现它们的最佳方式是什么() 来呈现数据..所以我的问题再次是我应该在这个方法上写什么来获取关于所有外来键的所有信息??
【解决方案2】:

好吧,伙计们......所以经过两天的反复试验......我终于找到了它

这是你应该做的..

在您的 getEmployees 方法或您使用的任何检索方法中,您可以包含所有外键,如下所示

public IQueryable<Employee> GetEmployeesWithDepartments() 
{ 
      return this.ObjectContext.Employees.Include("Department").Include("EmployeeType"); 
} 

对于包含在元数据类中的每个 forgin 密钥,依此类推

然后在前端您现在可以访问 Department 属性并使用 Binding 语法将其与您的视图绑定

如下:

<TextBlock Text="{Binding Department.DepartmentName"/>

感谢您的帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-05
    • 1970-01-01
    相关资源
    最近更新 更多