Linq Update - Невозможно выполнить привязку во время выполнения для пустой ссылки - PullRequest
0 голосов
/ 06 ноября 2018

Я использую LinqToExcel вместе с C # для чтения данных из электронной таблицы MS Excel, а затем обновляю записи данных в моей базе данных MS SQL.

Файл Excel имеет следующие заголовки: COURSE_ID, PROVIDER_COURSE_TITLE

Мой код такой:

public class TestDataCourse
{
    [ExcelColumn("PROVIDER_COURSE_TITLE")]
    public string cTitle
    {
        get;
        set;
    }
}

///////////////////////////////

string pathToExcelFile = @"C:\\O_COURSES.xlsx";
ConnexionExcel ConxObject = new ConnexionExcel(pathToExcelFile);

//read data from excel
var query1 = (from a in ConxObject.UrlConnexion.Worksheet<TestDataCourse>("O_COURSES")
                      select a).Take(2000).ToList();

//Get data from MS SQL database that need updated
var courses = _courseService.GetAllCoursesFromDB().Take(100).ToList();

int count = 0;

foreach (var course in courses)
{
     //Iterate through the excel doc and assign the 
     TestDataCourse fakeData = query1.Skip(count).Take(1).FirstOrDefault();

     course.CourseTitle = fakeData.cTitle;

     count++;
}

_courseService.Save();

Когда я запускаю этот код, я вижу, что он обновляет некоторые записи в моей базе данных, но по мере выполнения кода я получаю вкладку Источник недоступен , открытую в моей Visual Studio, и Невозможно выполнить привязку во время выполнения для пустой ссылки .

Исключение с нулевой ссылкой заставило меня подумать, что, возможно, в документе Excel были нулевые данные, поэтому я поместил эту строку кода в цикл for:

course.CourseTitle = fakeData == null ? "Course Test" : fakeData.cTitle;

Но у меня все та же проблема.

Может ли кто-нибудь помочь, пожалуйста?

Спасибо.

...