簡體   English   中英

我應該在業務層還是數據訪問層新建數據庫 model

[英]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(數據傳輸對象)和自動映射器。 請參考以下鏈接以獲得想法 -

在 .NET Core 中使用 DTO 和 automapper

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM