Интересно, как конвертировать SqlDataReader в LINQ?Как преобразовать SqlDataReader в метод LINQ?
Вот мой код SqlDataReader.
string strConn = "server=xxx.com;database=mydb;User ID=test;Password=test;Trusted_Connection=true;";
SqlConnection myConn = new SqlConnection(strConn);
myConn.Open();
string strSQL = "select period from timetable_view where identity_num = '" + Identity_NUM + "' week = '3'";
SqlCommand myCommand = new SqlCommand(strSQL, myConn);
SqlDataReader myDataReader = myCommand.ExecuteReader();
int Count = Add_CourseConfirmedQuery.Count();
Random rnum = new Random();
string[] arr = new string[Count];
for (int i = 0; i < Count; i++)
{
myDataReader.Read();
arr[i] = myDataReader["period"].ToString();
}
ViewBag.test = arr[0];
ViewBag.test2 = arr[1];
myCommand.Cancel();
myDataReader.Close();
myConn.Close();
myConn.Dispose();
string[] input2 = new string[Count];
for (int i = 0; i < Count; i++)
{
input2[i] = arr[i];
}
Этот код работает нормально.
Я пробовал код в LINQ, но он не работает.
Вот код LINQ, который я пробовал, но я понятия не имею, как извлечь все записи a.identity_num
и поместить их в массив, такой как код выше (SqlDataReader).
var test = from a in timetable_view
where a.identity_num = Identity_NUM && a.week = "3"
select a new{a.identity_num};
ViewBag.test = test.FirstOrDefault();
[UPDATE Вопрос]
Это то, что я пытаюсь в настоящее время.
Я не могу извлечь нужные записи из своего стола.
Но отображаемая страница: System.String []
var Query = from m in db.members
join d in db.departments on m.department equals d.department_id
join s in db.select_list on m.member_id equals s.member_id
join c in db.courses on s.kkk_id equals c.kkk_id
join t in db.teachers on c.teacher equals t.teacher_id
where m.identity_num == Identity_NUM && c.week == "3"
select c.period;
var PA = Query.ToArray();
int Count = Query.Count();
string[] arr = new string[Count];
for (int i = 0; i < Count; i++)
{
arr[i] = PA.ToString();
}
ViewBag.test = arr[0];
ViewBag.test2 = arr[1];
.............
............
...........
string[] input2 = new string[Count];
for (int i = 0; i < Count; i++)
{
input2[i] = arr[i];
}
.............
............
...........
Для чего вам нужен этот тип annonymus? Если вам это не нужно, измените новый {c.period} на c.period – CSharpie
@CSharpie Но отображение страницы: System.String [] – user2401077
Нет, но System.String [] не является аннонимным типом , или это? – CSharpie