EmitMapper的使用小結

2022-01-13 18:08:58 字數 2556 閱讀 4211

最近公司開發專案前端使用乙個js框架,後端使用ef,js前台讀取的json採用實體的dto來進行生成。

1.普通的對映。

public

class

userinfo

public

string name

public

string address

}public

class

userinfodto

public

string address

}

2.有外來鍵關聯,需要對映出外鍵所帶名字

public

class

userinfo

public

string name

public

string address

public teacher teacher

}public

class

teacher

public

string name

}public

class

userinfodto

public

string name

public

string

teacher

}var user = new

userinfo

};newdefaultmapconfig()

.convertusing

string>(t =>t.name)

);3.兩個實體之間名字不一致,需要對映。

public

class

userinfo

public

string name

public

string address

}public

class

userinfodto

public

string name

public

string useraddress

}newdefaultmapconfig()

.matchmembers((x, y) =>

return x ==y;

}));

4.需要對某乙個字段進行特殊處理

public

class

userinfo

public

string name

public

string address

}public

class

userinfodto

public

string name

public

string useraddress

public

string userjson

}var user = new

userinfo ;

newdefaultmapconfig()

.postprocess

((value, state) =>";

return

value;

}));

5.忽略掉某個欄位的對映

public

class

userinfo

public

string name

public

string address

}public

class

userinfodto

public

string name

public

string address

}var user = new

userinfo ;

newdefaultmapconfig()

.ignoremembers

(new

string )

);6.給空元素賦預設值

public

class

userinfo

public

string name

public

string address

public datetime? godate

}public

class

userinfodto

public

string name

public

string address

public datetime godate

}var user = new

userinfo ;

newdefaultmapconfig()

//如果日期為空設定為當前時間

.nullsubstitution((value) =>datetime.now)

//如果string型別為null賦值為「」

.nullsubstitution((value) => ""

) );

常用的就上面幾點,對於更深入的。有待以後研究。。。。。

使用Emit Mapper自動對映不同類的屬性值

應用場景 class a 和 class b有一樣的屬性,a a new a b b new b 要把a的值賦給b 傳統方法通過反射遍歷a和b的所有屬性,然後逐一賦值 可以定義對映規則 new defaultmapconfig 支援的方法 描述 convertusing 為指定的成員提供自定義的轉換...

webpabe的使用小結

1.前端的工程化工具 gulp webpack 主流 2.webpack.config.js配置 專案 優先找本地 全域性 3.概念 webpack是一種靜態編譯工具 預編譯 入口檔案 出口 轉換器 外掛程式 webpack 打包 development 開發環境 production 生產環境 w...

Repo 的使用小結

一 安裝 建立目錄和修改環境變數 mkdir bin path bin path curl bin repo chmod a x bin repo 二 幫助 repo help查詢具體命令的幫助 repo helprepo 倉庫狀態 repo help init狀態 repo status 三 初始...