2016-12-05 2 views
-1

Как вы обновляете значение подтаблицы с ядром Lambda EF.EF core NullReferenceException доступ к связанному объекту

var UpdatePercentage = _context.TaskOverview.Single(c => c.Id == 100); 
UpdatePercentage.Completedpercentage = 30; 
UpdatePercentage.TaskSubInfo.Content1 = "Some value"; 

await _context.SaveChangesAsync(); 

Я получаю ошибку NullReferenceException

NullReferenceException: Object reference not set to an instance of an object. 
+0

, на котором из ваших трех строк вы черпаете исключение: Ваш _context нуль? или UpdatePercentage.CompletedPercentage null? Или возможно UpdatePercentage.TaskSubInfo имеет значение null? –

+0

Возможный дубликат [Что такое исключение NullReferenceException и как его исправить?] (Http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) – kiziu

ответ

0

Я думаю, вы получаете NullReferenceException на соответствующий Entity TaskSubInfo.

EntityFramework оленья кожа нагрузки, связанные с Entity по умолчанию, но you have to do it

var UpdatePercentage = _context.TaskOverview 
          .Include(to => to.TaskSubInfo) 
          .Single(c => c.Id == 100); 

UpdatePercentage?.Completedpercentage = 30; 
UpdatePercentage?.TaskSubInfo.Content1 = "Some value"; 

await _context.SaveChangesAsync(); 
+0

.include сделал трюк спасибо – David

0

Вы можете использовать Include

var UpdatePercentage = _context.TaskOverview.Include("TaskSubInfo").Single(c => c.Id == 100); 
Смежные вопросы