极客神殿

坚持,自由,信仰

排序:
默认
按更新时间
按访问量

AutoMapper官方文档(十八)【条件映射,开放泛型,了解你的映射】

AutoMapper允许你在属性映射之前添加条件到必须满足的属性。这可以用在像下面这样的情况下,我们试图从int映射到unsigned int。class Foo{ public int baz; }class Bar { public uint baz; }在下面的映射中,属性baz只会...

2017-11-29 10:11:56

阅读数:339

评论数:0

AutoMapper官方文档(十七)【配置】

创建一个MapperConfiguration实例并通过构造函数初始化配置:var config = new MapperConfiguration(cfg => { cfg.CreateMap<Foo, Bar>(); cfg.AddProfile<Foo...

2017-11-29 09:33:05

阅读数:195

评论数:0

AutoMapper官方文档(十六)【可查询扩展】

当使用带有AutoMapper标准Mapper.Map函数的ORM(如NHibernate或Entity Framework)时,您可能会注意到,当AutoMapper尝试将结果映射到目标类型时,ORM将查询图中所有对象的所有字段。如果你的ORM暴露IQueryables,你可以使用AutoMap...

2017-11-29 09:32:12

阅读数:164

评论数:0

AutoMapper官方文档(十五)【映射继承】

映射继承有两个功能: 从基类或接口配置继承映射配置 运行时多态映射继承基类配置是opt-in,您可以显式指定要从包含基本类型的配置继承的映射,也可以在包含IncludeBase的派生类型配置中指定该映射::CreateMap<BaseEntity, BaseDto>(...

2017-11-29 09:31:04

阅读数:195

评论数:0

AutoMapper官方文档(十四)【依赖注入】

AutoMapper支持使用静态服务定位构建自定义值解析器和自定义类型转换器的能力:Mapper.Initialize(cfg => { cfg.ConstructServicesUsing(ObjectFactory.GetInstance); cfg.CreateMap&l...

2017-11-28 16:57:09

阅读数:604

评论数:0

AutoMapper官方文档(十三)【值转换器,Null替换,Map行为前后】

值转换器值转换器对另一种类型应用额外的转换。 在分配值之前,AutoMapper将检查要设置的值是否有任何相关的值转换,并在设置之前应用它们。您可以创建几个不同级别的值转换器: Globally Profile Map MemberMapper.Initialize(...

2017-11-28 16:39:48

阅读数:367

评论数:0

AutoMapper官方文档(十二)【自定义值解析器】

尽管AutoMapper覆盖了不少目的地成员的映射场景,但有1%到5%的目标值需要一些帮助来解决。 很多时候,这个自定义的价值决议逻辑是领域逻辑,可以直接在我们的领域。 但是,如果这个逻辑仅仅涉及到映射操作,就会把我们的源类型弄乱,造成不必要的行为。 在这些情况下,AutoMapper允许为目标成...

2017-11-28 16:18:12

阅读数:210

评论数:0

AutoMapper官方文档(十一)【自定义类型转换器】

有时候,你需要完全控制一种类型到另一种类型的转换。这通常是当一个类型看起来不像另一个类型时,转换函数已经存在,并且您希望从“松散”类型转换为更强类型,比如源类型的字符串到目标类型Int32。例如,假设我们有一个来源类型:public class Source { public string...

2017-11-28 15:26:37

阅读数:306

评论数:0

AutoMapper官方文档(十)【嵌套映射】

在映射引擎执行映射时,可以使用多种方法之一来解析目标成员值。 其中一种方法是使用另一种类型映射,其中在映射配置中还配置了源成员类型和目标成员类型。 这使我们不仅可以平坦化我们的源类型,还可以创建复杂的目标类型。 例如,我们的源类型可能包含另一个复杂类型:public class OuterSour...

2017-11-28 14:03:41

阅读数:248

评论数:0

AutoMapper官方文档(九)【列表和数组】

AutoMapper只需要配置元素类型,而不是任何可能使用的数组或列表类型。 例如,我们可能有一个简单的源和目标类型:public class Source { public int Value { get; set; } }public class Destination { p...

2017-11-28 13:56:27

阅读数:190

评论数:0

AutoMapper官方文档(八)【内联映射】

AutoMapper即时创建类型映射(6.2.0中的新增功能)。 当您第一次调用Mapper.Map时,AutoMapper将创建类型映射配置并编译映射计划。 后续的映射调用将使用编译的映射。内联配置要配置内联映射,请使用映射选项:var source = new Source();var des...

2017-11-28 13:43:44

阅读数:248

评论数:0

AutoMapper官方文档(七)【配置验证】

配置验证手动卷映射代码尽管乏味,但具有可测试的优点。 AutoMapper背后的灵感之一是不仅消除了自定义映射代码,而且消除了手动测试的需要。 由于从源到目标的映射是基于约定的,因此您仍然需要测试您的配置。AutoMapper以AssertConfigurationIsValid方法的形式提供配置...

2017-11-28 11:42:02

阅读数:214

评论数:0

AutoMapper官方文档(六)【投影】

投影投影将源换为目标,而不是将对象模型展平。 没有额外的配置,AutoMapper需要一个平坦的目标地来匹配源类型的命名结构。 如果要将源值映射到与源结构不完全匹配的目标,则必须指定自定义成员映射定义。 例如,我们可能想要转向这个源代码结构:public class CalendarEvent {...

2017-11-28 11:24:51

阅读数:188

评论数:0

AutoMapper官方文档(五)【反向映射和复杂化】

从6.1.0开始,AutoMapper现在支持更丰富的反向映射支持。 鉴于我们的实体:public class Order { public decimal Total { get; set; } public Customer Customer { get; set; } }public...

2017-11-28 10:22:14

阅读数:795

评论数:0

AutoMapper官方文档(四)【扁平化(分割)映射】

扁平化映射对象-对象映射的一个常见用法是采用复杂的对象模型并将其扁平化为更简单的模型。 你可以采取一个复杂的模型,如:public class Order { private readonly IList<OrderLineItem> _orderLineItems = new...

2017-11-27 23:04:38

阅读数:268

评论数:0

AutoMapper官方文档(三)【约定】

有条件的对象映射器条件对象映射器根据源和目标类型之间的条件创建新的类型映射。var config = new MapperConfiguration(cfg => { cfg.AddConditionalObjectMapper().Where((s, d) => s.Name...

2017-11-27 22:51:39

阅读数:381

评论数:0

AutoMapper官方文档(二)【升级指南】

初始化您现在必须使用Mapper.Initialize或new MapperConfiguration()来初始化AutoMapper。如果您希望保持静态使用,请使用Mapper.Initialize。如果你有很多的Mapper.CreateMap调用,把它们移动到一个Profile,或者Mapp...

2017-11-27 22:19:19

阅读数:600

评论数:0

AutoMapper官方文档(一)【入门】

什么是AutoMapper?AutoMapper是一个对象与对象的映射器。对象-对象映射通过将一种类型的输入对象转换为不同类型的输出对象来工作。让AutoMapper感兴趣的是,它提供了一些有趣的约定,从而弄清楚如何将类型A映射到类型B.只要类型B遵循AutoMapper建立的约定,映射两种类型几...

2017-11-27 16:41:38

阅读数:622

评论数:0

AutoMapper使用示例(二)【常规的转换器和分页功能】

Model层模型如下: public class SrcEmployee { public string Name { get; set; } public string Age { get; set; } public string...

2016-07-23 18:09:30

阅读数:2484

评论数:0

AutoMapper使用示例(一)【结合ASP.NET MVC4 】

Model层的类: public class Member { public int MemberId { get; set; } public string FirstName { get; set; } public string La...

2016-07-20 22:05:48

阅读数:3860

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭