Цель: Достичь более общего способа создания архаиста.Что является более общим способом создания arraylist в C#, как в примере?
Редакция: Мне нужно создать несколько arraylists, каждая из которых соответствует уникальной структуре с целью сравнения и обновления таблицы в базе данных Sql. В духе DRY я пытаюсь найти лучший способ создания каждого массива. Код, я использую следующим образом
Пример кода:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.Configuration;
public static void Users()
{
String sql = "";
try
{
conn.Open();
sql = "SELECT" +
"database.dbo.table1.username," +
"database.dbo.table1.status" +
"FROM" +
"database.dbo.table1";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
//structure below
User structure_A = new User();
structure_A.username = dr.GetValue(0).ToString();
structure_A.status = dr.GetValue(1).ToString();
//added to arraylist
arraylist_A.Add(structure_A);
}
dr.Close();
conn.Close();
}
Примечание: Более подробная информация может быть предоставлена по запросу. Заранее благодарю за любую информацию.
My take it it: for * static typed * query (columns/types fixed), используйте * существующий * ORM/mapper/DAL/template (выберите ваш яд). Некоторые из них уже действительно отражают POCOs просто (например, [PetaPoco] (http://www.toptensoftware.com/petapoco/) или еще что-то). Но для * динамических типизированных * запросов рассмотрите [DataTables] (http://msdn.microsoft.com/en-us/library/system.data.datatable.aspx) - и вообще избегайте таких динамических запросов. Подобно типам C#, записи SQL действительно предназначены для «фиксированной формы» и борьбы с этим (за исключением разумных случаев), может быть больше проблем, чем того стоит. – user2246674