I have a Recommendation object and a FeedbackLevel object and the FeedbackLevel object is a navigation property inside a Recommendation object
Recommendation int EntityKey; FeedbackLevel Level;
Inserting a new one works just fine with AddObject(). Here s what I m trying with the update, which doesn t work.
recommendation.Level = myRepository.GetFeedbackLevel(newLevel);
_context.Recommendations.Attach(new Recommendation { EntityKey = recommendation.EntityKey });
_context.Recommendations.ApplyCurrentValues(recommendation);
_context.SaveChanges(System.Data.Objects.SaveOptions.AcceptAllChangesAfterSave);
The code above is basically a compact version of what I have. Updating a scalar property works just fine, but I can t update a new navigation property as the avove code succeeds without any changes!
I ve also tried a few other methods like getting an existing Recommendation first and then re-assigning the FeedbackLevel to it without any luck.
UPDATE:
Here is what I captured from the sql profiler during the save call:
exec sp_executesql N update [dbo].[Recommendation]
set [FeedbackComment] = @0, [LastUpdatedDate] = @1
where ([RecommendationKey] = @2)
,N @0 varchar(255),@1 datetime,@2 int ,@0= This is cool ,@1= 2010-01-08 10:06:06.5400000 ,@2=11
It looks like it does not even know that the FeedbackLevel needs to be saved. How can I get it to trigger it?