Click here to Skip to main content
15,741,391 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:

I am using Entity Framework 4.0 and following issue occurs while updating objects (rows) in database:

I have two related tables, say A and B, with A being the master table and B foreign table. Now in my C#.NET application, I make changes from front end and save it.

In save method, I only update those Entity objects whose EntityState is Modified. When I reach Save method, the EntityState of objects of both A and B are Modified. If A's object state is Modified, I attach A's Entity object with EF context, so its state becomes Unchanged (because when an Entity object is attached, its state becomes Unchanged), but as I know it was Modified so I immediately set it to Modified and call context's SaveChanges method.

But the problem occurs now: when I attach A's Entity object to context, EntityState of all related object of type B also becomes Unchanged. So after updating A's object when it reaches to process for B, its EntityState gets Unchanged and so it doesn't update B's objects. Also I have no track of which object of B had state Modified prior attaching A's object.

I need a way that when parent table's entity object is attached to context, it does not attach foreign table's related objects to EF context.

Please provide solution for this. Thanks in advance. :)

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900