nuthi_naresh Ответов: 2

Импорт из excel в БД и отображение их из БД с помощью EF в MVC


Я хочу загрузить файл Excel с веб-страницы и сохранить данные в базе данных SQL, а затем извлечь данные из БД для отображения в табличном формате с помощью Entity Framework в MVC

Примерные данные для посещаемости
СЛ. Нет
студенческий билет
Имя Студента
Ниос Абитуриентно.
Дата

Что я уже пробовал:

S2Entities4 entities4 = new S2Entities4();
                foreach (DataRow row in dt.Rows)
                {

                    
                    entities4.Students.Add(new Student
                    {
                       // Student_Id = long.Parse(row["Student_Id"].ToString()),
                        Student_Name = row["Student_Name"].ToString(),
                        NIOS_Enrolment_No = row["NIOS_Enrolment_No"].ToString()
                                                                       
                    });
                }
                entities4.SaveChanges();



Получил Сообщение Об Ошибке "
Column 'Student_Name' does not belong to table .'
"

2 Ответов

Рейтинг:
2

Richard Deeming

Ваш образец данных имеет имя столбца "Student Name".

Вы пытаетесь прочитать значение из столбца под названием "Student_Name".

Это не одно и то же. В первом есть пробел, а во втором-подчеркивание.

Аналогично, "NIOS_Enrolment_No- это не то же самое, что "NIOS EnrolmentNo.".

Имена столбцов, которые Вы читаете, должны точно совпадать с именами столбцов из исходного файла. Отладьте код и проверьте фактические имена столбцов из исходного файла, а затем исправьте код, чтобы использовать правильные имена столбцов.


Рейтинг:
0

#realJSOP

Если это не обязательно должен быть процесс реального времени, вы можете создать пакет служб SSIS для импорта загруженного файла, создать задание SQL server для запуска пакета, запланировать выполнение этого задания каждые N минут и просто позволить пользователю нажать кнопку Обновить на веб-сайте, когда он захочет.

Я знаю, что это звучит как много работы, но на самом деле это не так, и именно так я бы подошел к этому сам.