У меня есть этот код из моего текущего проекта
public Expression<Func<MyObject, object>> CreateSelectExp(a, b)
{
return x => new
{
x.Id,
x.Status,
x.DateCreated,
x.Theme,
Message = MergeMessage(db, x.Id)
};
}
private IQueryable<string> MergeMessage(ConnectTo db, Guid id)
{
return db.MsgHistory
.Where(s => s.FK_MsgHistory_MsgID.Id == id)
.Where(s => !string.IsNullOrEmpty(s.Message))
.Select(s => String.Join(Environment.NewLine, s.Message));
}
То, что я получаю, - это IQueryable, который в конце (на стороне клиента) выглядит так ["Text One","Text Two", "Text Three"]
, но мне нужна одна строкаэто Text One, Text Two, Text Three
.Поскольку у меня есть строка выражения SQL в CreateSelectExp()
, я не могу получить там List () или Array ().Я читал об Агрегате, но все мои попытки не дали результата.Итак, вопрос в том, как получить одну объединенную строку с выражением linq?