我使用visual studio 2010并使用Entity Framework和SQL Server 2008 R2。我在我的表上触发后,当在表中保存一条记录时,其他表中的另一列发生了变化。 是否可以在我的应用程序中更改自动更改的记录。
答案 0 :(得分:2)
有一个InsertOnSubmit事件会按照注释here触发,不确定这会对你有所帮助..
但是在保存/修改实体时会触发各种事件,但是您必须将“触发器”逻辑带入代码端,然后可能会智能地处理各种实体更改..更多信息请点击此处{{3} }
并且在深入查看问题的标题之后,您似乎正在尝试从更新的表中获取数据..并且正如评论所暗示的那样......实体“上下文”范围之外的任何内容都是必须被“重新加载”。现在,如果在“更改事件”处理中处理了“加载”代码,则可以完成此操作..那么为什么不将所有逻辑放在代码层中呢?对你的2个“实体”进行更新,然后一举保存......
答案 1 :(得分:1)
虽然,不是你想要的答案,但我认为你应该将“触发”逻辑从数据库移到应用程序代码。这将解决您的问题,并允许您编写单元测试,以验证数据是否正确更新。
答案 2 :(得分:0)
我搜索这个问题并找到以下代码来刷新EF中的数据:
MyModelEntities.Refresh(System.Data.Objects.RefreshMode.StoreWins, TbMyRecord);