Как поместить результаты LINQ с соединением между 2 сущностями типа T и типа T1 в список<T> вместе со столбцами из T и T1
Привет,
Прошу прощения. Я не знаю, как сформулировать этот вопрос.
У меня есть два стола. Категория и счетчик.
Category Table : ------------------ code varchar(6) name varchar(30) cntrno int Counter Table : ------------------ code int name varchar(30)
SQL Statement : ------------------ select category.code, category.name, counter.name as cntname from category join counter on counter.code=category.cntrno order by category.code asc Output : ----------------- Code Name Cntname c001 Breads BN001 c002 Cakes BN002 c003 Pizza BN001 c004 Pastries BN002
Im trying to use LINQ to achieve the above. I used this : List<category> lstcategory = null; lstcategory = (from caterow in Context.categorys join cntrow in Context.counters on caterow.cntrno equals cntrow.code orderby caterow.code select new category{ code = caterow.code, name = caterow.name, cntname=cntrow.name }).ToList();
В приведенном выше запросе, cntname=cntrow.name не будет компилироваться, так как cntname не является именем столбца в категории класса. Как мне получить этот дополнительный столбец в списке категорий типов ?
Что я уже пробовал:
Создал класс, унаследованный от моего класса category, с требуемыми дополнительными столбцами в качестве свойств локально, изменил список типов category на этот тип класса и привел выходные данные LINQ к этому типу.
New classname = CategoryWithCounterName (with properties code, name, cntname) List<CategoryWithCounterName> lstcategory = null; lstcategory = (from caterow in Context.category join cntrow in Context.counter on caterow.cntrno equals cntrow.code orderby caterow.code select new CategoryWithCounterName{ code = caterow.code, name = caterow.name, cntname=cntrow.name }).ToList();
Разве это правильный путь, чтобы следовать? Пожалуйста, посоветуйте.