У меня очень интересная проблема с моей моделью LinqToSql. В некоторых из моих таблиц у меня есть ссылки на другие таблицы, а в LinqToSql это представлено классом EnitiyRef, когда вы пытаетесь получить доступ к таблице ссылок, LinqToSql загрузит ссылку из базы данных.
На моей машине для разработки все работало нормально (ссылки были загружены отлично), но вчера вечером я загрузил изменения на наш производственный сервер и начал получать исключения NullReferenceException при попытке получить доступ к ссылке в моих таблицах.
Пример кода:
var sale = db.Sales.Single(s => s.ID == 1);
string username = sale.User.Name; // User is a reference to a User table
// LinqToSql will automatically load the
// row and access the fields i need.
// On my server the sale.User throws an exception that its null (User) but the user
// is definitly in the database (there is even a FK constraint from Sale to User)
Сначала я подумал, что мой DataContext получил GC'd, но я дважды проверил все безрезультатно (кроме того, он работает на моей коробке).
(На сервере и на моем компьютере все одинаково, одни и те же библиотеки DLL, схема БД и т. Д. ...)
(Я на самом деле скопировал весь файл DBF на мой сервер, так что это точно такая же схема)