我有一个非常简单的映射函数,称为“BuildEntity”,它执行通常无聊的“左/右”编码,将我的阅读器数据转储到我的域对象中。(如下所示)我的问题是 - 如果我不按原样恢复此映射中的每一列,我会得到“System.IndexOutOfRangeException”异常,并想知道 ado.net 是否有任何纠正此问题的方法,所以我没有t 需要在每次调用 SQL 时恢复每一列...
我真正想要的是像“IsValidColumn”这样的东西,所以我可以在我的 DataAccess 类中保留这个 1 映射函数,并定义所有左/右映射 - 并且即使 sproc 没有返回列出的每一列,它也可以工作。 ..
Using reader As SqlDataReader = cmd.ExecuteReader()
Dim product As Product
While reader.Read()
product = New Product()
product.ID = Convert.ToInt32(reader("ProductID"))
product.SupplierID = Convert.ToInt32(reader("SupplierID"))
product.CategoryID = Convert.ToInt32(reader("CategoryID"))
product.ProductName = Convert.ToString(reader("ProductName"))
product.QuantityPerUnit = Convert.ToString(reader("QuantityPerUnit"))
product.UnitPrice = Convert.ToDouble(reader("UnitPrice"))
product.UnitsInStock = Convert.ToInt32(reader("UnitsInStock"))
product.UnitsOnOrder = Convert.ToInt32(reader("UnitsOnOrder"))
product.ReorderLevel = Convert.ToInt32(reader("ReorderLevel"))
productList.Add(product)
End While