數據訪問類庫所以我有什麼從我的LINQ返回查詢實體
我做一個LINQ到實體調用
我結束了一個單行有我的資料表對象。
我應該從我的類庫方法返回什麼?
我認爲這將是很酷的返回TableData對象,但我看到,如果您對其進行更改並調用一個保存,它實際上更新數據庫,我不想在我的類庫之外。
人們通常返回什麼作爲他們的結果對象?
數據訪問類庫所以我有什麼從我的LINQ返回查詢實體
我做一個LINQ到實體調用
我結束了一個單行有我的資料表對象。
我應該從我的類庫方法返回什麼?
我認爲這將是很酷的返回TableData對象,但我看到,如果您對其進行更改並調用一個保存,它實際上更新數據庫,我不想在我的類庫之外。
人們通常返回什麼作爲他們的結果對象?
如果將EF跟蹤對象的狀態設置爲Detached
,則更改將不會傳播到數據庫。
如果您試圖遵循n層架構,我的建議是使用自我追蹤實體T4模板。
然後,您的模型將成爲您想從存儲庫返回的內容,並且在您要將它們留存至數據庫時,會跟蹤您對實體所做的更改。
這是一個偉大的問題,因爲我真的指出了擔憂的分離。一方面,您希望將「原生」數據返回考試或其他任何方面。但另一方面,你可能不需要所有的'實時數據包袱'。
我認爲這是數據傳輸對象可以發揮作用的地方。我甚至已經爲定義具有隻讀屬性的DTO的接口。 '我回來'是由我所要求的--IDTO,DTO或邏輯實體定義的,因爲某些業務層對象可以使用DTO。
我不使用EF,而是在我們自己的ORM-ish DAL中,這正是它的工作原理 - 工廠和服務是通用的,並返回所要求的內容。不想擔心編輯?詢問沒有任何可寫屬性的接口。