Как объединить 2 таблицы в LINQ to Entity? - PullRequest
0 голосов
/ 16 декабря 2011

У меня есть 2 таблицы.

TableA :- ID, Name, Type
TableB :- ID, Name, TableAID

Я хочу получить список результатов со столбцами, которые включают TableA.Name, TableB.Name. Я использую Entity Framework. В настоящее время я получаю данные из Таблицы 1А.

IEnumerable<TableAModel> tableAData = DatabaseContext.FromContext().DatabaseName.TableA.AsEnumerable().Select(tableAData => tableAData.ToModel());

Я хочу создать тот же список, который также включает TableB.Name, чтобы я мог иметь это отображение в моей таблице? Является ли это возможным?

Пожалуйста, дайте мне знать, как это сделать?

Ответы [ 3 ]

3 голосов
/ 16 декабря 2011

Примерно так:

var db = DatabaseContext.FromContext();
var result = (from a in db.TableA 
              join b in db.TableB on a.ID equals b.TableAID 
              select new {
                  AID = a.ID, 
                  AName = a.Name, 
                  AType = a.Type, 
                  BName = b.Name}).ToList();

Ссылка: предложение соединения (C # Reference)

1 голос
/ 16 декабря 2011

Простой поиск в Google имеет множество примеров. Здесь был один с первой страницы. Ссылка

0 голосов
/ 16 декабря 2011

Вы хотите что-то подобное, но я не знаю точного результата, которого вы хотите достичь, поэтому трудно сказать точно.

var db = DatabaseContext.FromContext().DatabaseName;
var AllData = from A in db.TableA
              from B in db.TableB
              where A.ID == B.TableAID
              select new {A,B};
var Result = AllData.AsEnumerable().Select(dat=>new{A=dat.A.ToModel(),B=dat.B.ToModel()});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...