Я посмотрел сотни подобных вопросов по SO на заданный, но не нашел своего ответа. Если об этом уже спрашивали, примите мои извинения.
У меня есть база данных SQL с колонкой городов и колонкой их штатов соответственно. Я использую Entity Framework в качестве своего DAL, и в моем BLL есть много LINQ для форматирования, перемещения и т. Д. У меня есть в UI раскрывающийся список, который в настоящее время принимает ToList()
от метода в моем BLL, и все работает хорошо , но мне нужно изменить этот метод, чтобы вернуть город и штат, разделенные запятой. Пока у меня есть (что не работает!):
public static List<char> GetCitiesInCountryWithState(string isoalpha2)
{
const string delimiter = ",";
using (var ctx = new atomicEntities())
{
var query = from c in ctx.Cities
join ctry in ctx.Countries on c.CountryId equals ctry.CountryId
where ctry.IsoAlpha2 == isoalpha2
select new { c.CityName, c.State };
var cities = query.Select(i => i.CityName).Aggregate((i, j) => i + delimiter + j);
return cities.ToList();
}
}
Я пробовал многочисленные варианты LINQ, но, очевидно, я не понял это правильно. Кто-нибудь может предложить помощь, пожалуйста? Как всегда, это ценится:)
РЕДАКТИРОВАТЬ 1 : я хотел бы, чтобы вывод метода представлял собой список объединенных названий городов и состояний, разделенных запятой и пробелом; например:
Miami, Florida
Key West, Florida
New York, New York
Boston, Massachusetts
Вводим просто код ISO-Alpha2 для рассматриваемой страны, в случае моего примера: «США». Это может быть, например, «GB» для Великобритании или «FR» для Франции или «DE» для Германии.