场景是这样:ef添加表A和根据表A创建的视图view_A,查询所有的A和所有的View_A,此时数据显示“数据1”,更新A表其中一行,保存后,再次查询所欲的A和所有的View_A,预期的结果是被修改的A会体现在查询结果中,但实际结果是查询A的结果包含更新一行后的最新数据,而View_A的查询结果却不包含,仍旧是上次查询结果“数据1”中View_A的结果,这是为什么?
目前可以确定跟ef版本没关系,似乎是跟数据源有关。对于另一个数据库的类似的表B以及view_B执行同样的结果,确实符合预期的。
这个就看你编辑页面和列表页面的数据是怎么获取的 自己跟踪对比吧
经多次尝试得出结论:对ef来说,视图和表映射为model类后,没有区别,是独立进行状态管理的,不会因为是视图映射的model就去直接查询数据库来获取最新数据。除非被修改的表中的字段在对应的视图中被设置为实体键。