次のコードでストアド プロシージャからデータセットを読み取り、それをリストに保存しています。ストアド プロシージャからのデータセットは正常に機能しており、値を含むテーブルを返します。しかし、リストに保存すると例外が発生し続けます。
コードは
public class mList
{
public DateTime Ee { get; set; }
public DateTime ndate { get; set; }
public int SNo { get; set; }
public int CId { get; set; }
public int rID { get; set; }
}
internal class Program
{
private static void Main(string[] args)
{
string procName = "listest";
SqlConnection conn=new SqlConnection(cs);
try
{
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand(procName, conn);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
DataSet ds = new DataSet();
da.Fill(ds);
ds.Tables["t0"].TableName = "Rows";
List<mL> newlist = ds.Tables["t0"].AsEnumerable().Select(row => new mList
{
Ee = row.Field<DateTime?>(0).GetValueOrDefault(),
ndate = row.Field<DateTime?>(1).GetValueOrDefault(),
SNo = row.Field<int?>(2).GetValueOrDefault(),
CId = row.Field<int?>(3).GetValueOrDefault(),
rID = row.Field<int?>(4).GetValueOrDefault()
}).ToList();
}
}
私が得る例外はSystem.ArgumentNullException was caught, Message=Value cannot be null.