有人可以解释一下实体框架中两者之间的区别.
例1:
obj = new TicketsEntities();
var depts = obj.DEPARTMENTs.Select( x => x);
string str = depts.GetType().ToString();
Run Code Online (Sandbox Code Playgroud)
在这种情况下str print --- System.Data.Entity.Infrastructure.DbQuery`1 [LINQu.Models.DEPARTMENT]
例2:
obj = new TicketsEntities();
var depts = obj.DEPARTMENTs;
string str = depts.GetType().ToString();
Run Code Online (Sandbox Code Playgroud)
在这种情况下str print --- System.Data.Entity.DbSet`1 [LINQu.Models.DEPARTMENT]
在任何一种情况下,当我们遍历depts时,我们得到相同的结果,那么两者之间有什么区别,哪一个更受欢迎?
DbSet 表示数据集,并且可以通过公开添加、更新、删除等方法来操作数据。DbQuery 表示对一组数据执行的 Linq 查询。它没有添加、更新和删除方法。
在你的情况下,我认为没有真正的区别,但为了简单起见,我会选择你的第二个例子,因为 Select(x=>x) 不是必需的。
| 归档时间: |
|
| 查看次数: |
2236 次 |
| 最近记录: |