Метода commandbehavior.исключение метод sequentialaccess. Попытка считывания из столбца порядкового номера '0' недопустима.
Я использую
EntityDataReaderдля заполнения
List<SelectListItem> productsиз таблицы MS SQL, имеющей только один столбец типа "string": [prod_name_pharma_form]
Я получаю это исключение:
Attempt to read from column ordinal '0' is not valid. With CommandBehavior.SequentialAccess, you may only read from column ordinal '1' or greater.'
Что я уже пробовал:
Я использую этот код, который отлично работает с таблицами из более чем одного столбца:
<pre>public JsonResult AjaxProducts() { List<SelectListItem> products = new List<SelectListItem>(); string query = "SELECT p.prod_name_pharma_form FROM Entities.FDF_FAMILY_PROD_NAME as p"; using (EntityConnection con = new EntityConnection("name=Entities")) { using (EntityCommand cmd = new EntityCommand(query)) { cmd.CommandType = CommandType.Text; cmd.Connection = con; con.Open(); using (EntityDataReader sdr = cmd.ExecuteReader(System.Data.CommandBehavior.SequentialAccess)) { while (sdr.Read()) { products.Add(new SelectListItem { Value = sdr["prod_name_pharma_form"].ToString(), Text = sdr["prod_name_pharma_form"].ToString() }); } } } } return Json(products); }
Я понимаю, что с помощью "SequentialAccess" я должен читать (выбирать) столбцы в правильном порядке, чтобы избежать такого рода исключений, но что я делаю в случае наличия таблицы из одного столбца?