小编Inf*_*dem的帖子

映射器与构造函数

我正在使用AutoMapper设置的项目。由于大多数对我来说都是陌生的,因此我对原因保持开放的态度。

假设我有两节课:

class Foo
{
    public string name { get; set; }
    public int rank { get; set; }
    public bool isDelected { get; set; }
}

class FooView
{
    public string name { get; set; }
    public int rank { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

而不是使用ORM,为什么我不只是使用将FooView作为参数的构造函数。

class Foo
{
    public Foo(FooView source)
    {
        this.name = source.name;
        this.rank = source.rank;
    }
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,只要我有FooView并且需要Foo,我就说

var myFoo = new Foo(FooView);
Run Code Online (Sandbox Code Playgroud)

它为我提供了我在一个位置所需的所有逻辑,并且我可以在任何地方使用它。如果我需要更新代码,则将其与Model定义放在同一位置。那我想念什么呢?

c# automapper

5
推荐指数
1
解决办法
846
查看次数

标签 统计

automapper ×1

c# ×1