Я захватываю значение и хочу, чтобы оно появилось в BatchId каждого анонимного типа, созданного с помощью инструкции linq.Нельзя ссылаться на переменную от анонимного типа
Вот код:
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();
}
Когда я делаю это, я получаю сообщение об ошибке:
«Параметр не допускается в этом месте Убедитесь, что„@“знак в. допустимое местоположение или все параметры в этом выражении SQL ».
Как ссылаться на переменную batchId из объявления анонимного типа, или я должен выполнить это другим способом?
Вы можете использовать профайлер для анализа сгенерированного запроса? Какова ценность 'batchId'? – CodeCaster
Удалите BatchId из запроса, когда вы получите список, примените select с BatchId. –
@CodeCaster batchId содержит строковое значение «1234». Если я заменю переменную batchId в выражении «select new ...» со значением «1234», он отлично работает. –