微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Silverlight RIA服务中创建PresentationModel的正确方法是哪种?

如何解决在Silverlight RIA服务中创建PresentationModel的正确方法是哪种?

| 我有搜索员工页面并编辑员工日期。用户可以在员工搜索页面搜索数据,它将显示员工的名字和姓氏,因此我在演示模型中创建SearchEmployeeEntity。当用户单击“编辑员工”时,我将从服务中获取数据,这一次我将获得名字,姓氏,用户名,生日和其他信息,因此我创建了另一个表示模型名称EmployeeEntity。 我考虑一下我的设计,有两种方法可以做到这一点,一种是如我上面所解释的,另一种是在两种服务中仅使用一种表示模型(EmployeeEntity)。 无论如何,如果我在所有位置(搜索页面编辑页面)都使用EmployeeEntry,则由于我使用静态DomainContext,因此很难管理数据。 请建议我,在Silverlight应用程序中创建演示模型的哪种方法好? 附言我在客户端使用MVVM。     

解决方法

它是同一实体,因此您只需要一个。使用上下文的不同之处在于-您正在创建新员工,还是编辑现有员工。 Silverlight RIA服务会为您处理此问题,因为它知道如何执行更改跟踪。 因此,当您进行编辑时,您将针对您的上下文进行查找并执行LoadOperation,这将从数据库将实体返回给您。允许用户在客户端上编辑Employee的字段,然后执行SubmitOperation将更改持久保存到数据库。 对于新员工,您可以在ViewModel中创建一个新的EmployeeEntity,然后将其添加到Context \的Employees集合中。像这样:
EmployeeContext.Employees.Add(Employee);
正确填写字段后(希望您利用Silverlight的超简单验证规则来确保正确的数据),然后再次执行SubmitOperation将新实体保存到数据库。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。