Если мы рассмотрим общие сценарии, в которых может быть выбрано это исключение, доступ к свойствам с объектом вверху.
Пример:
string postalcode=Customer.Address.PostalCode;
//if customer or address is null , this will through exeption
здесь, если адрес имеет значение null, то вы получите NullReferenceException.
Итак, в качестве практики мы всегда должны использовать проверку нуля, прежде чем обращаться к свойствам в таких объектах (особенно в общих)
string postalcode=Customer?.Address?.PostalCode;
//if customer or address is null , this will return null, without through a exception
Просто заключите year
в двойные кавычки, чтобы он не интерпретировался как ключевое слово :
INSERT INTO table (id, name, "year") VALUES ( ... );
Существует второй тип идентификатора: идентификатор с разделителями или цитируемый идентификатор. Он формируется путем включения произвольной последовательности символов в двойных кавычках («). Обозначенный идентификатор всегда является идентификатором, никогда не ключевым словом. Таким образом,« select »может использоваться для ссылки на столбец или таблицу с именем« select », тогда как некорректный выбор будет приниматься как ключевое слово и поэтому будет провоцировать ошибку синтаксического анализа при использовании там, где ожидается имя таблицы или столбца.
blockquote>