【问题标题】:Binding From sql to variables using the string name使用字符串名称从 sql 绑定到变量
【发布时间】:2014-01-19 14:11:23
【问题描述】:

我正在尝试在 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

我想从 col 加载这些变量。 MSSQL 中的名称 所以像......

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

我将如何在 VB 或 C# 中做这样的事情?

【问题讨论】:

    标签: c# asp.net sql-server vb.net


    【解决方案1】:

    你必须像下面这样依赖反射:

    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]});
    }
    

    【讨论】:

    • 我也使用字典变量而不是特定变量解决了这个问题。
    【解决方案2】:

    我会使用像 Dapper 这样的轻量级 ORM 来为我做这件事。这是一点点魔法,可以为您节省大量时间。还有各种用于 CRUD 操作的 Dapper 扩展。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-12
      • 2016-03-24
      • 2013-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多