[英]Should i new database model in business layer or data access layer
我用 EF 框架核心創建了一個 do.net 核心項目,我對如何構建代碼有一些疑問。 我的項目有3層結構,controller,業務層,數據訪問層。 我定義了一個名為“數據”的 Model,它需要保存到數據庫中。 數據 model 包含 5 個字段,可以從外部 api 調用中獲取。 所以我想知道以下兩種方法,哪一種更好。
方法一:調用3次api獲取值,然后創建數據object傳給數據訪問層,存入數據庫。
business layer:
Data newData = new Data() {
field1 = apiCall1
field2 = apiCall2
field3 = apiCall3
}
_db.saveValue(Data newData){
}
data access layer:
saveValue(Data newData) {
context.save(newData)
}
方法二:調用3次api獲取值,將調用3次api的結果傳遞給數據訪問層,然后創建數據object保存到數據庫
business layer:
_db.saveValue(Model1 apiCall1, Model2 apiCall2, Mole3 apiCall3){
}
data access layer:
saveValue(Model1 apiCall1, Model2 apiCall2, Mole3 apiCall3) {
Data newData = new Data() {
field1 = apiCall1
field2 = apiCall2
field3 = apiCall3
}
context.save(newData)
}
最好的方法是像您在方法 1 中提到的那樣使用 object 發送它。但是,作為標准流程的一部分,建議使用 DTO(數據傳輸對象)和自動映射器。 請參考以下鏈接以獲得想法 -
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.