目前,我们正在使用存储在实体框架中的关系模型作为我们的域模型的基础。此模型通过WCF发送,然后在客户端的代码中重新创建。
作为一个例子,我采取学生/班级案例。
class Student {
int Id { get; set; }
string Name { get; set; }
}
class Class {
int Id { get; set; }
string Name { get; set; }
List<Student> Students { get; set; }
}
在WCF中,我们只发送Name
和Id
(或Id
列表)以减少通过DTO类ClassInformation
和{{传输的数据1}}。
StudentInformation
然后,在客户端,我们使用class StudentInformation{
int Id { get; set; }
string Name { get; set; }
}
class ClassInformation {
int Id { get; set; }
string Name { get; set; }
List<int> StudentIds { get; set; }
}
手动将Student
与Classe
匹配。当客户删除Id
时,我们会手动将其从Student
移除Class
。
我一直在寻找能够减少维护的解决方案,例如使用内存中的EF模型,并使用它来重新创建和级联编辑模型,但这也让人觉得有点古怪。反思也可以起作用,但也许这个框架可以做到这一点。
我的问题是:是否存在减少所有体力劳动的模式或框架?