C# 使用字符串名称从sql绑定到变量

C# 使用字符串名称从sql绑定到变量,c#,asp.net,sql-server,vb.net,C#,Asp.net,Sql Server,Vb.net,我正在尝试在VB中轻松地从MSSQL绑定到ASP.NET。 我想做一些像这样的事情 Public Class Address Public Shared name As String Public Shared address1 As String Public Shared address2 As String Public Shared city As String Public Shared state As String Public

我正在尝试在VB中轻松地从MSSQL绑定到ASP.NET。 我想做一些像这样的事情

  Public Class Address
    Public Shared name As String
    Public Shared address1 As String
    Public Shared address2 As String
    Public Shared city As String
    Public Shared state As String
    Public Shared phone As String
    Public Shared email As String
End Class
我想从MSSQL中的列名称加载这些变量 所以有点像

for i = 0 to reader.fieldcount -1
address.(reader.getname(i)) = reader(i)
next

在VB或C中如何执行类似操作?

您必须依赖反射,如下所示:

Type type = address.GetType();

for (int i=0; i < reader.FieldCount; i++)
{
    var property = type.GetProperty(reader.GetName(i));

    var setMethod = property.GetSetMethod();

    setMethod.Invoke(address, new object[]{reader[i]});
}
Type Type=address.GetType();
对于(int i=0;i
我想用一个轻型ORM来为我做这件事。这是一个小魔术,将节省你一吨的时间。CRUD操作也有各种简洁的扩展

我还使用字典变量而不是特定变量解决了这个问题。