Я думаю, вы можете пойти с любым из этих двух вариантов
Первый , создайте класс, который содержит оба атрибута из TbA и TbB, так как вы используете соединение. Класс будет содержать атрибуты, которые вы хотите вернуть.
Второй Пример использования запросов LINQ.
var queryResult = from tba in dbContext.TbA
join tbb in database.TbB on tba.aId equals tbb.aId
select new {
//construct your class here as dynamic objects
TbA.attr1 = tba.attr1,
Tbb.attr1 = tbb.attr1
// and so on
}
queryResult
примет любой класс, выбранный в операторе выбора.
Также, если вы хотите использовать класс, созданный с помощью опции 1, раздел выбора запроса изменится на
select new TbAandTbB{
attr1 = tba.attr1,
attr2 = tbb.attr1
// and so on
}