c# - LINQ 连接如何只选择第一条记录?

标签 c# entity-framework linq linq-to-entities

我希望在下面的连接查询中仅从“CustomerSubOwners”表中选择第一条记录,并且想知道在 LINQ 中实现此目的的最佳方法是什么。 p>

var result= (from t1 in db.Cases
             from t2 in db.CustomerSubOwners
                          .Where(o => t1.CustomerId == o.CustomerId && o.Expiry >= DateTime.Now)
                          .DefaultIfEmpty()
             select t1);

最佳答案

我认为您正在寻找 Take像这样的方法:

var result= (from t1 in db.Cases
             from t2 in db.CustomerSubOwners.Where(o => t1.CustomerId == o.CustomerId && o.Expiry >= DateTime.Now)
                                            .Take(1)
                                            .DefaultIfEmpty()
             select t1); 

关于c# - LINQ 连接如何只选择第一条记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12900186/

相关文章:

c# - 在 ObjectQuery 中使用包含

sql - LINQ 翻译没有给出与我的 SQL 查询相同的结果

c# - Linq order by, group by 和 order by each group?

linq - 如何使用 LINQ 选择特定的子节点?

c# - 如何使 2 个不兼容的类型,但具有相同的成员,可互换?

c# - System.Net.Http.HttpClient 添加 Request-Id header

c# - 无法先从模型代码中删除 FK

c# - Entity Framework 将几何图形转换为地理图形

c# - Membership.ValidateUser 在升级到 VS 2010/.NET 4.0 后总是返回 false

c# - 在 C#/Entity Framework 中编写全文搜索算法 - 从哪里开始?