asp.net-mvc – 使用ValueInjecter在具有不同属性名称的对象之间进行映射
发布时间:2020-05-24 09:15:21 所属栏目:asp.Net 来源:互联网
导读:如何将属性从对象映射到具有不同属性名称的另一个对象? 我有一个Product类,如下所示: public class Product : IEntity{ public int Id { get; set; } public string Name { get; set; }} 视图模型看起来像: public class ProductSpecificationAddVi
|
如何将属性从对象映射到具有不同属性名称的另一个对象? 我有一个Product类,如下所示: public class Product : IEntity
{
public int Id { get; set; }
public string Name { get; set; }
}
视图模型看起来像: public class ProductSpecificationAddViewModel
{
public int ProductId { get; set; }
public string ProductName { get; set; }
}
我需要做以下映射: Product.Id => ProductSpecificationAddViewModel.ProductId Product.Name =>ProductSpecificationAddViewModel.ProductName 这是我的行动方法: public ActionResult Add(int id)
{
Product product = productService.GetById(id);
// Mapping
//ProductSpecificationAddViewModel viewModel = new ProductSpecificationAddViewModel();
//viewModel.InjectFrom(product);
return View(viewModel);
}
我该怎么办? 解决方法如果您正在使用ValueInjecter,那么您将编写一个ConventionInjection.见第二个样本 herepublic class PropToTypeProp : ConventionInjection
{
protected override bool Match(ConventionInfo c)
{
return c.TargetProp.Name == c.Source.Type.Name + c.TargetProp.Name;
}
}
这个注入将从TSource.*的所有属性到TTarget.TSource *,所以你这样做: vm.InjectFrom<PropToTypeProp>(product); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 在开发,分段和生产环境之间区分web.config
- asp.net-mvc – 需要为ASP.NET mvc部署哪些文件?
- 在ASP.NET MVC Web API服务和MVC客户端体系结构中实现身份验
- asp.net-mvc – 如何在单个视图中使用两个表单
- asp.net-mvc – 了解nopCommerce的MVC标签
- asp.net-mvc-2 – 什么时候使用View()与RedirectToAction
- asp.net – 在VS 2008嵌套母版页中包含对JavaScript的相对引
- IIS 7应用程序池标识权限
- asp.net-mvc-4 – 在EF迁移配置类的Seed方法中获取App_Data
- asp.net-mvc-3 – 不支持使用相同的DbCompiledModel来针对不
推荐文章
站长推荐
- SimpleMembership与ASP.NET MVC 4中的自定义数据
- 嵌套的ASP.NET’应用程序’在IIS内继承父配置值?
- ASP.NET MVC 4和ExtensionlessUrlHandler
- asp.net-mvc – 避免“类或CssClass值未定义”AS
- asp.net – 服务应用程序池“X”的进程与Windows
- 验证 – ASP.Net MVC2:ModelState是无效的,但我
- asp.net-core – 程序集中找不到入口点’Microso
- iis – 如何通过预编译ASP.NET站点来确定性能改进
- asp.net – 两个DLL中都存在“ModelClientValida
- asp.net-mvc-2 – ASP MVC2中部分缓存的当前做法
热点阅读
