您好我正在使用实体框架/ Vb.net 2010。 我有一个带有bindingsource到实体的表单,我想知道这两个指令之间有什么区别:
MyBindingSource.datasource = from t in context.MyTable1 where ... some conditions 选择t
MyBindingSource.datasource =(来自上下文中的T.MyTable1其中......某些条件 选择t).ToList
问题在于,当使用它们时,我在绑定源上添加,删除或修改记录时会有不同的情况(例如,当使用第二条指令时,当我删除实体上的某些内容时,记录仍然存在于bindingsource上,直到我关闭并重新打开表单,或者我也应该从bindingsource删除记录,如果我使用第一条指令,当我从实体删除绑定源立即更新)
你可以向我解释一下吗?我应该使用哪一个? 谢谢。答案 0 :(得分:4)
第一个返回一个查询,你可以在其中添加更多where子句,排序等。将它绑定到数据源将导致它执行。这将保持与entites的链接,以便绑定源可以自动更新。
第二个执行查询并返回对象列表。然后将其绑定到数据源。此列表与实体分开,因此需要重新读取,这在重新打开表单时会发生。
答案 1 :(得分:0)
第一个返回IEnumerable(OfType T),第二个返回List(OfType T)