当前位置:  开发笔记 > 数据库 > 正文

在LINQ to SQL中检索单个记录结果的最佳方法

如何解决《在LINQtoSQL中检索单个记录结果的最佳方法》经验,为你挑选了3个好方法。

如果我在关键字段上查询具有条件的表,如下所示:

        var user = from u in dc.Users
                   where u.UserName == usn
                   select u;

我知道我会得到零结果或一个结果.我是否仍然可以继续使用for-each检索结果,或者是否有其他首选方法来处理这种情况.



1> Jorge Ferrei..:

尝试这样的事情:

var user = (from u in dc.Users
                   where u.UserName == usn
                   select u).FirstOrDefault();

该FirstOrDefault方法返回,如果没有这样的元素被发现,满足指定条件或默认值的序列的第一个元素.



2> Danimal..:

为什么不喜欢

var user = dc.Users.SingleOrDefault(u=> u.UserName==usn);


FirstOrDefault将进行TOP 1操作以提高效率.不幸的是,SingleOrDefault没有做TOP 2并选择整套.

3> James Curran..:

还应注意,First/FirstOrDefault/Single/SingleOrDefault是LINQ to Sql命令的执行点.由于LINQ语句之前没有执行过,它能够影响生成的SQL(例如,它可以在sql命令中添加TOP 1)

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有