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需要保存。我怎样才能触发它?