2
У меня возникли проблемы после слияния двух списков LINQ. Я получаю следующую ошибку: запрос содержит ссылку на элементы, определенные в другом контексте данных.Ошибка при объединении 2 списков LINQ
Это, как я построил свои окончательные списки 2 LINQ:
CAPDBDataContext CAdb = new CAPDBDataContext();
USPDBDataContext USdb = new USPDBDataContext();
var ExceptionList = Special_texts.Where(x => x.name.Equals("ExceptionList"))
.Select(x => x.special_text1)
.AsEnumerable()
.Select(x => x.Split(new[] { '#' }, StringSplitOptions.RemoveEmptyEntries))
.SelectMany(x => x)
.ToList();
var USquery = from uscomp in USdb.UScompanies
join ussect in USdb.USsectors
on uscomp.sector_code equals ussect.sector_code
select new
{
uscomp.company_name,
uscomp.primary_exchange,
ussect.description
};
var CAtemp = from x in CAdb.companies
where !ShefalisList.Contains(x.ticker)
select x;
var CAquery = from temp in CAtemp
join casect in CAdb.sectors
on temp.sector_code equals casect.sector_code
select new
{
temp.company_name,
temp.primary_exchange,
casect.description
};
var mergedList = USquery.Union(CAquery).ToList();
Что я делаю неправильно?
+1: Я бы рекомендовал использовать 'AsEnumerable()' вместо 'ToList()' (для первого раздела - нет необходимости в создании списка здесь), что также сделает второй вызов AsEnumerable() ненужным ... –
@ReedCopsey вы имеете в виду код 'var ExceptionList ='? для (1-й раздел). Затем вы предполагаете, что объединенный список должен выглядеть так: «var mergedList = USquery.Union (CAquery) .ToList()»? –
Я создал класс CSVExtension, но я не могу получить список перечислений из слияния. Я создал его как «public static class CSVExtensions { public static void WriteToCSVFile (этот IEnumerable mergedList) '. Разве это не так? –