我将有一个WCF将连接到一个asp.net网络服务。该服务定义数据库连接。
我注意到我将有3个不同的模型/数据类。
首先是来自MVC的ViewModel家伙。我猜它可能与数据在DB中的表示方式有些不同。
第二个是DataModels,poco,它定义对象在数据库中的外观。
然后是定义通过DataContract服务传输的对象的外观的WCF。我猜它要么是ViewModel的表示,要么是DataModel的表示。
这是一种过度的杀伤力,还是必要的邪恶?我是否应该将DataContracts定义为ViewModel guys,或者甚至是DataModels。
你将如何做?如何将其拆分成程序集?
发布于 2011-09-20 23:20:24
我会将它们全部分开,因为你mentioned.Tthey每个都有一个不同的层要处理(即属于),并且应该是单独的对象来处理任何未来的变化。
wcf项将通过引用服务来创建,因此属于您的wcf服务。您的数据模型应该在模型项目或数据访问项目中,而您的ViewModels应该在MVC应用程序中,尽管如果您愿意,您可以从那里中断,但由于它与MVC应用程序的耦合相当紧密,因此它是否值得商议。
发布于 2011-09-21 03:12:43
也许我应该把DataContracts定义为ViewModel的家伙,
哪儿有的事儿。当然不是。ViewModels是面向屏幕(用例)的。
但您可以在由SilverLight或jQuery客户端使用的DataService中执行此操作。
甚至是DataModels。
这可能是有道理的。POCOs的原因之一是它们甚至可以是相同的类。
https://stackoverflow.com/questions/7487287
复制相似问题