1

我想将数据从数据表映射到自定义 .NET 对象。假设我有一个 .NET 对象

Public Class MyClass
    Public ID
    Public Prop1
    Public Prop2
End Class

以及数据库中对应的表,其中包含列 ID、Prop1 和 Prop2。

我想从数据库中生成一个 .NET 对象列表。目前我填充数据集并单独映射每个属性。有没有办法自动映射数据库,所以属性会根据属性/列名进行映射。

'retreive dataset from db'
DaAdapter.Fill(ds)

'create a new list of my object'
Private l As New List(Of MyClass)

'iterate through dataset (this is the step I want to get rid of - of course'
'it could only work if the property of the MyClass and the column in '
'the database have the same name)'
For Each r As DataRow in ds.Tables(0).Rows
    Dim itm As New MyClass
    itm.ID = r("ID")
    itm.Prop1 = r("Prop1")
    itm.Prop2 = r("Prop2")
    l.Add(itm)
Next
4

4 回答 4

1

恕我直言。最简单的方法是使用Linq2Sql

于 2012-05-16T12:24:39.003 回答
1

您可以使用某种对象关系映射 (ORM) 框架。实体框架就是其中之一

于 2012-05-16T12:22:41.720 回答
1

没有直接的方法,尽管有许多工具可用于创建与称为实体类的数据库表完全相似的类。有关更多详细信息,请参阅以下链接

数据库表到 C# 实体类 - FluentNHibernate 的生成器?

您还可以使用 typeddataset、codesmith 工具。

于 2012-05-16T12:27:35.623 回答
0

我建议实体框架

您可以使用database first仅指向数据库的方法,它将为您创建实体和关联。

它真的很困难,我建议尝试一下

于 2012-05-16T12:30:15.137 回答