以下是我通常會從數據庫中檢索對象:實體框架:填充現有的對象實例
Dim Prod = (From P In Db.Products Where P.ProductID = 123).FirstOrDefault()
現在,我需要實現「負載」的實例方法,其可稱爲像這樣:
Dim Prod = New Product()
Prod.Load(123)
我該如何去填充數據庫中現有的Product對象?我試圖避免使用反射或任何雜亂的複製方法。
我試圖做這樣的事情:
Public Overridable Sub Load(ByVal ProductID As Integer)
Db.Products.Where(Function(P) P.ProductID = ProductID).Populate(Me)
End Sub
你可以提供一些關於你爲什麼需要這樣實現它的更多信息嗎?大多數人通常建議您保持實體與數據訪問層的細節絕緣。檢索頂部列出的對象的正常方式有什麼問題? – 2013-05-14 18:29:11
我正在更新從ADO.NET到實體框架的現有框架 - 所以加載功能需要在那裏與現有的代碼兼容。 – 2013-05-14 18:57:20