【问题标题】:Which is proper way to create PresentationModel in Silverlight RIA Service?在 Silverlight RIA 服务中创建 PresentationModel 的正确方法是什么?
【发布时间】:2011-05-25 03:45:55
【问题描述】:

我有搜索员工页面并编辑员工日期。用户可以在员工搜索页面中搜索数据,它会显示员工的名字和姓氏,所以我在我的演示模型中创建了 SearchEmployeeEntity。当用户点击编辑员工时,我会从服务中获取数据,这次我得到了名字,姓氏,用户名,生日等信息,所以我创建了另一个表示模型名称EmployeeEntity。

我考虑了一段时间我的设计,有两种方法可以做到这一点,一种是我上面刚刚解释的,另一种是在两个服务中只使用一个表示模型(EmployeeEntity)。

无论如何,如果我在所有地方(搜索页面和编辑页面)都使用 EmployeeEntry,因为我使用静态 DomainContext,所以很难管理数据。

请建议我,在 Silverlight 应用程序中创建演示模型的好方法是什么?

附:我在我的客户端使用 MVVM。

【问题讨论】:

    标签: silverlight mvvm wcf-ria-services presentation


    【解决方案1】:

    这是同一个实体,所以您应该只需要一个。不同之处在于使用它的上下文 - 您正在创建新员工或编辑现有员工。

    Silverlight RIA 服务会为您处理此问题,因为它知道如何执行更改跟踪。

    因此,当您进行编辑时,您将针对您的上下文进行查找并执行 LoadOperation,这将从数据库中将实体返回给您。允许用户在客户端编辑 Employee 的字段,然后执行 SubmitOperation 以将更改持久化到 DB。

    对于新员工,您在 ViewModel 中创建一个新的 EmployeeEntity,然后将其添加到 Context 的员工集合中。像这样:

    EmployeeContext.Employees.Add(Employee);
    

    正确填写字段后(希望您利用 Silverlight 的超级简单验证规则来确保数据正确),然后您再次执行 SubmitOperation 以将新实体保存到数据库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-08
      • 1970-01-01
      • 2011-04-10
      • 2012-06-01
      • 2011-02-05
      • 1970-01-01
      相关资源
      最近更新 更多