1
我使用NPoco作爲我的BLA。我需要知道在.NET應用程序中使用NPoco的自定義/原始SQL查詢的最佳做法是什麼?哪一層用於使用NPoco的原始SQL查詢?
一般來說,我知道原始SQL查詢不鼓勵,但與NPoco我有情況下有意義的加入多個表(5,6或更多)來獲得8,9列表結果。
我有一個通用的數據庫爲我的數據庫,我用它來訪問我的模型。所以我應該在哪一層編寫原始SQL查詢,其中的結果,我需要在我的BL?我是否應始終創建臨時DTO來接收/映射此類查詢的結果或以動態方式接收它們? (將這些結果映射到動態對象的價格有多高?)
在此先感謝您的寶貴意見。
Dany
但是你認爲在BL中編寫原始sql查詢是個好主意嗎?因爲我可能不得不從SQL服務器支持其他數據庫,在這種情況下,如果我的SQL查詢使用任何SQL服務器特定的關鍵字,我將不得不更改我的BL,我認爲這不是一個好主意。 – Dany
PetaPoco負責使用不同數據庫的一些問題(僅支持一些)。當然,如果你想編寫複雜的語句,你會很失敗。在這種情況下,我相信你可以使用存儲過程或者是,添加更復雜的模式來支持這一點。 –