在linq查询中合并不同类型的列值

本文关键字:同类型 合并 linq 查询 | 更新日期: 2023-09-27 18:08:47

下面是我如何返回合并两个字符串列的结果:

    context.DBSET.Select(e => e.STRING_PROPERTY + e.STRING_PROPERTY)...

如何合并e.p string_property + e.p integer_property在一个字符串的结果?

在linq查询中合并不同类型的列值

您必须使用SqlFunctions将其转换为字符串。StringConvert:

var results = context.DBSET
                     .Select(e => e.STRING_PROPERTY + SqlFunctions.StringConvert((double)e.INTEGER_PROPERTY));

Linq to Entities和Linq to Sql在幕后支持几个c#成员。其中包括String.ToString()和DateTime.Now。你可以这样写:

    context.DBSET.Select(e => e.STRING_PROPERTY + e.INTEGER_PROPERY.ToString())...

正如@Reed指出的那样,SqlFunctions也可以工作,并且将提供一组更通用但可读性较差的操作,可以在您的查询中执行。