Сохранение объекта LINQ Query в целое число - PullRequest
0 голосов
/ 06 апреля 2011

У меня есть LINQ2SQL Query:

 //Pulling the Product_ID from the PlanMaster Table from WebEnroll DB!
                var tr = from s in dt.PlanMasters
                         where s.PlanName == productName
                         select new
                         {
                             s.Product_ID
                         };

Это тянет Product_ID, который работает хорошо.Теперь я хочу добавить запись в другой оператор LINQ, который находится здесь:

                CommissionsV2DataContext cv = new CommissionsV2DataContext();
                Entity_Product_Point ev = new Entity_Product_Point();
                ev.Entity_ID = getEntity;
                ev.Product_ID = tr.; ?????

Я хочу сохранить переменную, полученную из tr (то есть Product_ID), в ev.Product_ID.

Как мне преобразовать объект в INT?Спасибо!

Ответы [ 4 ]

5 голосов
/ 06 апреля 2011

Проблема в том, что ваш первый запрос возвращает коллекцию объектов с целочисленным свойством, а не с одним целым числом.Вместо этого вы можете изменить свой запрос следующим образом:

var tr = (
    from s in dt.PlanMasters
    where s.PlanName == productName
    select s.Product_ID).First();

Или, если быть более понятным, IMO:

var tr = dt.PlanMasters.First(s => s.PlanName == productName).Product_ID;
3 голосов
/ 06 апреля 2011

tr это коллекция.Вы должны позвонить tr.FirstOrDefault().Product_ID.

1 голос
/ 06 апреля 2011

Я бы изменил ваш запрос linq, чтобы выбрать только s.Product_ID вместо select new, используя новый анонимный объект, содержащий идентификатор.

 var tr = from s in dt.PlanMasters
          where s.PlanName == productName
          select s.Product_ID;

Тогда ваш второй кодовый блок может быть просто ev.Product_ID = tr.First();

  CommissionsV2DataContext cv = new CommissionsV2DataContext();
  Entity_Product_Point ev = new Entity_Product_Point();
  ev.Entity_ID = getEntity;
  ev.Product_ID = tr.First();
0 голосов
/ 06 апреля 2011

ev.Product_ID = tr.First (). Product_ID;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...