【发布时间】:2013-05-14 18:02:57
【问题描述】:
以下是我通常从数据库中检索对象的方式:
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
【问题讨论】:
-
您能否提供更多关于为什么需要以这种方式实现它的信息?大多数人通常建议您将实体与数据访问层的细节隔离开来。检索您在顶部列出的对象的正常方式有什么问题?
-
我正在将现有框架从 ADO.NET 更新为 Entity Framework - 因此加载函数需要与现有代码兼容。
标签: .net vb.net entity-framework