我在我的一个mvc 3项目中首先使用EF代码。我有一个问题,即在向视图传递复杂的EF POCO对象时使用哪些模式。
例如,客户对象有一个订单列表,每个订单都有一个项目列表。客户对象将被发送到视图。视图更新客户对象及其内部对象(订单,项目),然后将其发送回控制器。控制器具有EF以持久保存客户对象。
我的问题如下:
我应该将EF poco对象序列化为JSON对象,以便在视图中使用它吗?
当我从视图接收更新时,如何重新构建客户对象?
重建客户对象后,是否可以一次性保存整个对象图(客户,订单,项目)?
由于
答案 0 :(得分:3)
我倾向于远离使用EF POCO对象作为我的视图的模型。我通常会从一个或多个POCO对象创建视图模型,因为我在视图中需要的东西永远不会与单个EF POCO对象完全匹配。然后,视图模型将创建EF对象,然后将其保存到数据库中。
答案 1 :(得分:1)
在这里关注mojo722和Pluc的建议。不要在MVC层中使用EF POCO实体。使用viewmodels。以下是它的工作原理: