c# - 如何填写对象列表?

标签 c# asp.net oop

我的代码中有一个对象“Kit”。

class Kit
{
    private int _CK_ID;

    public int CK_ID
    {
        get { return _CK_ID; }
        set { _CK_ID = value; }
    }

}

在我的代码中,我想填写一个套件列表

List<Kit> kits = new List<Kit>();

现在我想用数据库中的数据填充套件

我有一个解决方案:

将数据带到读取器,然后循环并将新套件插入列表。

但是我想把它做得“很好”,我怎么能做这样的事情呢

kits.fillData();

最佳答案

这取决于您希望如何构建代码以及您最熟悉的内容,您可以使用类似 Entity Framework 的内容或 NHibernate .

这显然取决于您的框架、任务要求和技能组合。

如果这不是一个选项,您可以根据您的 stored procedure 执行此操作或 select 语句带出与 Kit 相同的列名类。

public class KitList : List<Kit>
{
  public void FillList()
  {
    using (SqlConnection con = new SqlConnection(""))
    {
      var cmd = new SqlCommand("GetData", con);
      var dt = new DataTable();
      var sda = new SqlDataAdapater(cmd);
      sda.Fill(dt);
      foreach(var row in dt.Rows)
      {
        Kit k = new Kit();
        foreach(var col in dt.Columns)
        {
          k.GetType().GetProperty(col.Name).SetValue(obj, row[col.Name], null);
        }
        this.Add(k);
      }
    }
  }
}

关于c# - 如何填写对象列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15090548/

相关文章:

c# - 是否有 native .NET 方法或等效于 user32.dll 的 GetKeyboardState?

c# - 将日期字符串转换为日期格式

c# - 如何向 WPF TextBlock 添加命令?

c# - 如何对 GridView 中的对象列表进行排序?

Matlab 删除我的值(value)观

c++ - 在类外设置 const int 成员变量 (C++)

c# - 摆脱 try block 中的条件语句

c# - 为什么部分封闭的泛型在函数中运行时有效,但在直接调用 ServiceCollection 时却无效?

asp.net - 在 MVC 中,如何确定部分 View 响应是否有效(在客户端)?

c++ - 一个棘手的 OOP 问题,我从来没有想过