asdf_enel_hak
asdf_enel_hak

Reputation: 7640

Sub entity doesn't update when assign null value to its reference

I have an entity named: Application and it has field ApplicationStatus which is entity as well, ApplicationStatus values are yes or no and it's nullable in Application.

So when I execute:

Application application = MyEntities.Applications.First();
application.ApplicationStatus = null; 
MyEntities.SaveChanges(); 

ApplicationStatus won't update its value, unless I debug it and do quick watch application.ApplicationStatus.

However

application.ApplicationStatusId = null;

works fine.

My question, why this one doesn't work:

application.ApplicationStatus = null;

Thanks

EDIT further question:

As @LadislavMrnka answer solves debug behaviour and and the issue related lazy loading:

how can we interpret these situation?

Application application = MyEntities.Applications.First();

application.ApplicationStatusId = null; //This updates value in db

ApplicationStatus applicationStatus = MyEntities.ApplicationStatuses.First(a => a.Name == "no");
app.ApplicationStatus = applicationStatus; //This updates value in db too

app.ApplicationStatus = null; // But this doesn't

Upvotes: 1

Views: 327

Answers (1)

Ladislav Mrnka
Ladislav Mrnka

Reputation: 364259

Use this and it will work:

Application application = MyEntities.Applications.Include("ApplicationStatus").First();

The reason is that your ApplicationStatus was never loaded. If you do debug and access it your debugging access will trigger lazy loading and loads it.

Upvotes: 2

Related Questions