값을 가져 와서 linq 문을 통해 만든 모든 익명 형식의 BatchId에 표시하려고합니다. 여기 익명 형식의 변수를 참조 할 수 없습니다.
코드입니다 :var batchId = context.Request["batchid"];
using (var db = new StarterSiteEntities())
{ // Get data
var transactions = (from t in db.Transactions
join td in db.TransactionDetails on t.TransactionID equals td.TransactionID
join p in db.Products on td.ProductID equals p.ProductID
where t.Exported == false
select new
{
BatchId = batchId,
t.FirstName,
t.LastName,
t.Address1,
t.Address2,
t.City,
t.State,
t.Zip_Code,
t.Email,
t.Phone,
t.TotalAmount,
t.MonthlyGift,
t.DateCreated,
p.Fund,
ProductFirstName = p.FirstName,
ProductLastName = p.LastName,
ProductUniversity = p.University,
ProductState = p.State,
ProductEmail = p.Email,
ProductAmount = td.Amount
}).ToList();
}
나는이 작업을 수행 할 때, 나는 오류 메시지가 얻을 :
이"A 매개 변수가이 위치에 허용되지 않는 '@'기호에 있는지 확인합니다. 유효한 위치 또는 매개 변수가이 SQL 문에서 모두 유효합니다. "
익명 형식 선언 내에서 batchId 변수를 참조하려면 어떻게해야합니까? 또는 다른 방법으로이 작업을 수행해야합니까?
당신이 생성 된 쿼리를 분석하는 프로파일 러를 사용할 수 있습니다 여기에
은 결과 코드? 'batchId'의 가치는 무엇입니까? – CodeCaster
쿼리에서 BatchId를 제거합니다. 목록을 가져 오면 BatchId를 사용하여 select를 적용합니다. –
@CodeCaster batchId에는 문자열 값 "1234"가 포함되어 있습니다. "select new ..."문에서 batchId 변수를 "1234"값으로 바꾸면 제대로 작동합니다. –