2
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();
:
이것은 내 마지막 2 LINQ 목록을 구성하는 방법입니다?
+1 : ToList() 대신에 AsEnumerable()을 사용하는 것이 좋습니다 (첫 번째 섹션에서는 여기에 목록을 작성할 필요가 없습니다). 그러면 두 번째'AsEnumerable()'호출도 불필요하게됩니다 ... –
@ReedCopsey 'var ExceptionList ='코드를 참조하고 있습니까? (첫 번째 섹션). 그런 다음 mergedlist가 'var mergedList = USquery.Union (CAquery) .ToList()'와 같이 표시되도록 제안 하시겠습니까? –
CSVExtension 클래스를 만들었지 만 병합에서 목록 열거를 가져올 수 없습니다. 'public static class CSVExtensions { public static void WriteToCSVFile (this IEnumerable mergedList)'와 같이 생성했습니다. 이게 맞지 않아? –