2
我有一個建議對象和FeedbackLevel對象和FeedbackLevel對象是建議對象EF4 POCO - 更新導航屬性
建議 INT的EntityKey內的導航屬性; FeedbackLevel Level;
插入一個新的工程與AddObject()很好。這是我正在嘗試更新,這是行不通的。
recommendation.Level = myRepository.GetFeedbackLevel(newLevel);
_context.Recommendations.Attach(new Recommendation { EntityKey = recommendation.EntityKey });
_context.Recommendations.ApplyCurrentValues(recommendation);
_context.SaveChanges(System.Data.Objects.SaveOptions.AcceptAllChangesAfterSave);
上面的代碼基本上是我所擁有的一個緊湊版本。更新標量屬性可以正常工作,但我無法更新新的導航屬性,因爲avove代碼無需任何更改即可成功!
我也嘗試了其他一些方法,例如首先獲取現有的建議書,然後重新爲其分配FeedbackLevel而沒有任何運氣。
UPDATE:
以下是我在從SQL事件探查器捕獲的保存撥打:
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
它看起來像它甚至不知道FeedbackLevel需要保存。我怎樣才能觸發它?