The navigation properties of the entity are used in view, but the context of the entity is already disposed of by using the controller, but the entity has deferred Query evaluation nature, so The navigation Property object was not loaded, resulting in the above error.
Solution Solutions
Learn the MSDN tutorial carefully
Workaround one: How to:explicitly Load related Objects
Disable the deferred query Evaluation for the context and then manually load all the required navigation properties after the query finishes
context.ContextOptions.LazyLoadingEnabled = false ; if (!contact.SalesOrderHeaders.IsLoaded) { contact.SalesOrderHeaders.Load(); } |
Workaround two: How To:use Query Paths to Shape Results
Declaring contained navigation properties in a query
var contacts = ( from contact in context.Contacts .Include( "SalesOrderHeaders.SalesOrderDetails" ) select contact).FirstOrDefault(); |
Workaround Three: Become list<t>
The Entity Framework appears "This ObjectContext instance has been released and cannot be used for operations that require a connection" for the cause of the error