【发布时间】:2013-07-06 06:04:09
【问题描述】:
在我的应用程序中,我有我的域层和 Web 界面(其他层我不会详细介绍)。
我的视图,使用 ViewModels 对象和数据库持久化域对象。
要将 ViewModel 对象转换为域对象,我使用 AutoMapper。
Breeze 的问题在于,当我创建一个新对象 var newCust = manager.createEntity('Customer', {name:'Beta'}) 时,这是一个域对象,应该是一个 ViewModel 对象。
并非全部,但在某些情况下,ViewModel 与对象域不同。例如,域中的对象集合是:ICollection<Person> 而在视图模型中是 ICollection<int> int 是人的 PK。
问题
在这些情况下如何使用微风?
如何使元数据也管理我的视图模型的结构,以便我可以创建我的视图模型类型的对象?
【问题讨论】:
-
ViewModel 和域对象不一样。 ViewModel 可能并且经常会公开域对象。您可以使用 durandal.js 之类的框架来处理 view-viewmodel 组合(以及更多)。
-
所以?我从来没有说过他们是一样的!问题是如何使用 Breeze 和 ViewModels。在 Breeze 元数据中只定义域对象。我需要创建 ViewModel 对象!
标签: asp.net-web-api odata breeze