나는 뱅킹 시스템을 개발하려고합니다. 세 개의 테이블 레코드를 단일 테이블에 조인하려고했습니다. 하지만 문제는 내가 컴파일 할 때 나는 다음과 같은 오류가있다.Concat 연산자로 Linq 쿼리를 수행하지 못했습니다.
오류 CS1929 '는 IEnumerable <>는' 'CONCAT'에 대한 정의와 'Queryable.Concat <> (된 IQueryable <>, IEnumerable을 <이>)'타입의 수신기가 필요합니다 '최고의 확장 메서드 오버로드를 포함하지 않는 된 IQueryable <>
다음은 Linq 쿼리입니다. 여기
public string TranscationDetails(string Account_Number)
{
var accountNumber = int.Parse(Account_Number);//It could be better to use TryParse
using (HalifaxDatabaseEntities context = new HalifaxDatabaseEntities())
{
var q1 = context.Current_Account_Deposit.Where(x => x.Account_Number == accountNumber).Select(w => new
{
w.Account_Number,
Deposit = (decimal?)null,
Withdrawal = (decimal?)w.Amount,
w.Date
}).ToList();
var q2 = context.Current_Account_Withdraw.Select(d => new
{
d.Account_Number,
Deposit = (decimal?)d.Amount,
Withdrawal = (decimal?)null,
d.Date
}).OrderBy(r => r.Date).ToList();
var q3 = context.Current_Account_Details.Select(e => new
{
//You should perform same anonymous type which you want to concat
Account_Number = e.Account_Number,
Deposit = (decimal?)e.Account_Balance,
Withdrawal = (decimal?)null,
e.Account_Fees
}).ToList();
var inOut = q1.Concat(q2).Concat(q3).ToList();**//Error on this line**
var js = new System.Web.Script.Serialization.JavaScriptSerializer();
return js.Serialize(inOut); // return JSON string
}
}
는 데이터베이스 레코드 여기
![enter image description here](https://i.stack.imgur.com/jHjB0.png)
Lol'concat' - you noob. 당신은'join'이 필요합니다 – Worthy7
당신은 concat 대신에 나는 join을 사용해야합니다. – Mohammad
사실, 당신이하고있는 일은 미친 짓입니다. 동적 유형을 적어도 사용할 수 있습니까? 이러한 모든 레코드가 들어가기를 원하는 적절한 클래스를 만듭니다. 다음에'select new' 몇 가지 문제를 피할 수 있습니다. 그러면 원하는 것은리스트를 연결하는 AddRange 함수입니다. –
Worthy7