在 linq c# 中使用 left with charindex

本文关键字:left with charindex linq | 更新日期: 2023-09-27 18:36:59

>我有一个包含描述列的表格,我想选择不同的第一个单词。这是我将使用的 SQL:

select distinct left(description,charindex(' ',description)-1)  from tableA

如何将其转换为 LINQ 查询语法?

在 linq c# 中使用 left with charindex

简单的解决方案

var result = tableA.Select(item => item.description.Split()[0]).Distinct();

在 LINQ to Entities 中,您可以将 DbFunctions.Left 与 String.IndexOf 方法(字符串)(根据 CLR 方法到规范函数映射支持)结合使用,如下所示

var result = db.TableA
    .Select(r => DbFunctions.Left(r.Description, r.Description.IndexOf(" ")))
    .Distinct();