나는 뱅킹 시스템을 개발하려고합니다. 세 개의 테이블 레코드를 단일 테이블에 조인하려고했습니다. 하지만 문제는 내가 컴파일 할 때 나는 다음과 같은 오류가있다.Linq 쿼리 단일 레코드를 표시하는 대신 레코드 목록을 반환
오류 CS1929 'IOrderedQueryable <>' 'ParallelEnumerable.Concat <이> (ParallelQuery <>는 IEnumerable이 <>)'는 수신기가 필요 'CONCAT'에 대한 정의 및 최고의 확장 메서드 오버로드를 포함하지 않는 유형 'ParallelQuery <>
여기 내 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 inOut = 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
}).Concat(context.Current_Account_Withdraw.Select(d => new
{
d.Account_Number,
Deposit = (decimal?)d.Amount,
Withdrawal = (decimal?)null,
d.Date
})).OrderBy(r => r.Date)
.Concat(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
}));
var js = new System.Web.Script.Serialization.JavaScriptSerializer();
return js.Serialize(inOut); // return JSON string
}
}
}
이것은 DBContext 클래스입니다. 여기
public partial class HalifaxDatabaseEntities : DbContext
{
public HalifaxDatabaseEntities()
: base("name=HalifaxDatabaseEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<Web_User_login> Web_User_login { get; set; }
public virtual DbSet<USER> USERS { get; set; }
public virtual DbSet<tblUser> tblUsers { get; set; }
public virtual DbSet<Current_Account_Holder_Details> Current_Account_Holder_Details { get; set; }
public virtual DbSet<Current_Account_Details> Current_Account_Details { get; set; }
public virtual DbSet<Current_Account_Deposit> Current_Account_Deposit { get; set; }
public virtual DbSet<Current_Account_Withdraw> Current_Account_Withdraw { get; set; }
}
모델 클래스입니다
.. 여기 내가 계좌 번호를 클릭하면 자신이 특정 레코드를 표시해야합니다 예상 결과 데이터베이스 기록 여기
linq에'string Account_Number' 인 –
이라는 매개 변수를 사용하지 않는 것처럼 보입니다. 위의 오류가 나타나면이 출력이 아래에 없어야합니다. –
.Concat (context.Current_Account_Details.Select (E => 새로운 { e.Account_Number, Account_Balance = (10 진수) e.Account_Balance ?})); – Mohammad