C# 将属性从模型复制回对象——显式复制还是迭代属性集合?
我获取一个对象并将其属性写入模型,然后在视图中显示该模型以进行编辑。之后,用户点击submit,模型被发布回我的控制器。现在我想获取模型的属性并将它们写回对象 我正在考虑使用反射来实现这一点,但我有点担心。我想我会看看是否有更明显的答案 代码: 关于如何做到这一点的想法 看一看。它使这种左右手编码的工作变得简单 下面是一个例子:C# 将属性从模型复制回对象——显式复制还是迭代属性集合?,c#,asp.net-mvc,C#,Asp.net Mvc,我获取一个对象并将其属性写入模型,然后在视图中显示该模型以进行编辑。之后,用户点击submit,模型被发布回我的控制器。现在我想获取模型的属性并将它们写回对象 我正在考虑使用反射来实现这一点,但我有点担心。我想我会看看是否有更明显的答案 代码: 关于如何做到这一点的想法 看一看。它使这种左右手编码的工作变得简单 下面是一个例子: Mapper.CreateMap<Order, OrderDetailsModel>(); OrderDetailsModel dto = Mapper.M
Mapper.CreateMap<Order, OrderDetailsModel>();
OrderDetailsModel dto = Mapper.Map<Order, OrderDetailsModel >(order);
myObject.InjectFrom(anyOtherObject);
看一看。它使这种左右手编码的工作变得简单
下面是一个例子:
Mapper.CreateMap<Order, OrderDetailsModel>();
OrderDetailsModel dto = Mapper.Map<Order, OrderDetailsModel >(order);
myObject.InjectFrom(anyOtherObject);
使用。它映射具有相同名称的属性,而无需任何自定义编码。您可以使用NuGet将其添加到Visual Studio中的项目中。使用。它映射具有相同名称的属性,而无需任何自定义编码。您可以使用NuGet将其添加到Visual Studio中的项目中。您可以使用AutoMapper模式来完成此映射
注:您在github上有项目和库
链接:您可以使用AutoMapper模式来完成此映射
注:您在github上有项目和库
链接:您还应该看看 在使用了Automapper和ValueInjector之后,我想说ValueInAttribute肯定更易于使用。在您想要从一个对象映射到另一个对象之前,它也不需要预先进行任何设置。只要属性名称匹配,就可以使用默认功能。它还支持展平和取消展平 以下是一个例子:
Mapper.CreateMap<Order, OrderDetailsModel>();
OrderDetailsModel dto = Mapper.Map<Order, OrderDetailsModel >(order);
myObject.InjectFrom(anyOtherObject);
请不要忘记在引用程序集后包含using语句:
using Omu.ValueInjecter;
谢谢。您还应该看看 在使用了Automapper和ValueInjector之后,我想说ValueInAttribute肯定更易于使用。在您想要从一个对象映射到另一个对象之前,它也不需要预先进行任何设置。只要属性名称匹配,就可以使用默认功能。它还支持展平和取消展平 以下是一个例子:
Mapper.CreateMap<Order, OrderDetailsModel>();
OrderDetailsModel dto = Mapper.Map<Order, OrderDetailsModel >(order);
myObject.InjectFrom(anyOtherObject);
请不要忘记在引用程序集后包含using语句:
using Omu.ValueInjecter;
谢谢。为什么不缓存原始订单,然后用存储在OrderDetails模型中的数据设置属性?更好的是,为什么不在OrderDetailsModel中创建getter和setter,使用缓存顺序中的getter和setter?为什么不缓存原始顺序,然后使用存储在OrderDetailsModel中的数据设置属性?更好的是,为什么不在OrderDetails模型中创建getter和setter,使用缓存顺序中的getter和setter呢?