C# MVC模型与WCF数据契约设计

C# MVC模型与WCF数据契约设计,c#,.net,wcf,model-view-controller,datacontract,C#,.net,Wcf,Model View Controller,Datacontract,我是MVC的新手,我想和那些可能在这里有一些经验的人核实一下 如果我理解正确,MVC中的模型用于封装视图逻辑,即您希望在视图级别发生的行为。对于相同类型的数据,例如EF模型、WCF DataContract,您实际上可能有2个或3个不同的模型来支持编辑和/或显示该数据 我曾经担心DRY,但现在我认为WCF契约将被转换为给定视图的模型对象是正确的。实际上,模型将有一个来自WCF DataContract的构造函数,并且它们将有一个从模型中的数据生成DataContract的方法 建议?MVC中的模

我是MVC的新手,我想和那些可能在这里有一些经验的人核实一下

如果我理解正确,MVC中的模型用于封装视图逻辑,即您希望在视图级别发生的行为。对于相同类型的数据,例如EF模型、WCF DataContract,您实际上可能有2个或3个不同的模型来支持编辑和/或显示该数据

我曾经担心DRY,但现在我认为WCF契约将被转换为给定视图的模型对象是正确的。实际上,模型将有一个来自WCF DataContract的构造函数,并且它们将有一个从模型中的数据生成DataContract的方法


建议?

MVC中的模型用于封装视图逻辑,即您希望在视图级别发生的行为-我不同意这一点。模型应该是业务概念的表示。该视图涉及表示和呈现模型,例如作为HTML页面

模型的形式可能是具有行为的域对象,或者,如果由另一个服务封装,则可能是该服务返回的数据契约。视图本身应该在很大程度上不知道传递给它的模型的“类型”。它应该只注意生成渲染所需的相关数据是否存在

请注意,MVC还具有ViewModel的概念,它是模型中项目的表示形式,专门设计用于包含特定视图渲染所需的所有信息,请参阅我的答案以了解更多信息