#c# #linq #entity-framework
#c# #linq #entity-framework
Вопрос:
Мне нужно добавить свойство в классы модели, которые генерируются Entity Framework. По этой причине я отредактировал шаблон T4 (файл .tt) и добавил туда дополнительное свойство.
В результате каждый раз, когда я запускаю запрос LINQ к базе данных, я получаю null
вместо ожидаемого результата. Без дополнительного свойства все работает нормально.
Я думаю, что это проблема, которую EF обнаруживает при попытке сопоставить строку базы данных с классом модели. Я попытался украсить дополнительное свойство [NotMapped]
атрибутом, но это ничего не изменило.
Есть идеи, в чем может быть проблема?
Комментарии:
1. Вы добавили это в .tt? Вы имеете в виду, что хотите добавить это свойство ко всем вашим сущностям? Как выглядит один из созданных вами классов?
2. Да, вы правильно поняли. Созданные классы выглядят так, как обычно, просто у них есть это дополнительное свойство, которое я добавляю.
3. Если бы вы показали одну из сущностей и пример запроса, который работает без дополнительного свойства, а не с ним, мы могли бы вам немного помочь…
Ответ №1:
Я создал небольшой тестовый проект, делающий то же самое (добавляющий свойство ко всем объектам путем изменения шаблона T4), и это сработало просто отлично.
Оказывается, что в реальном проекте, где я пытался это реализовать, некоторый код, который я добавил в шаблон, вызывал исключение NullReferenceException, которое не отображалось в пользовательском интерфейсе — мне удалось перехватить его, только включив исключения первого шанса.