C# 是否应为同一实体创建多个数据协定
根据设计,为同一个实体创建多个数据契约是一个好主意吗 例如,我有一个名为[Person]的表,开始时只有两个字段:ID和Name。我使用nHibernate映射实体并将其标记为数据契约,以向客户机公开原始实体 随着进一步的发展,表格中增加了越来越多的栏目:身高、性别、地址。。。废话废话 当客户端试图检索Person对象时,也会传递一个包含大量无用属性的大型对象C# 是否应为同一实体创建多个数据协定,c#,wcf,C#,Wcf,根据设计,为同一个实体创建多个数据契约是一个好主意吗 例如,我有一个名为[Person]的表,开始时只有两个字段:ID和Name。我使用nHibernate映射实体并将其标记为数据契约,以向客户机公开原始实体 随着进一步的发展,表格中增加了越来越多的栏目:身高、性别、地址。。。废话废话 当客户端试图检索Person对象时,也会传递一个包含大量无用属性的大型对象 我为某些方法创建了另一个类[PersonWithNameOnly]或[PersonLite],以提供该dto的lite对象,这是一个好的
我为某些方法创建了另一个类[PersonWithNameOnly]或[PersonLite],以提供该dto的lite对象,这是一个好的设计吗?我担心它会产生大量的数据契约。是的,公开仅包含客户端所需内容的ViewModel是一种很好的做法
原则是只处理当前层需要处理的数据,例如 但是,由于为每个端点开发新的ViewModel可能非常耗时,因此您将看到一些项目,其中ViewModel可用于多个端点,其中包含许多属性。但显然,这不是最佳做法 这就是为什么人们试图为这个问题提供解决方案,例如,它只能提供客户需要获得的字段
希望它更清楚一点。是的,公开仅包含客户端所需内容的ViewModel是一种很好的做法
原则是只处理当前层需要处理的数据,例如 但是,由于为每个端点开发新的ViewModel可能非常耗时,因此您将看到一些项目,其中ViewModel可用于多个端点,其中包含许多属性。但显然,这不是最佳做法 这就是为什么人们试图为这个问题提供解决方案,例如,它只能提供客户需要获得的字段 希望能更清楚一点