Как выбрать из нескольких таблиц, используя LINQ, используя запрос объединения, чтобы вернуть только один столбец? - PullRequest
0 голосов
/ 13 января 2019

У меня есть две таблицы. Я хотел бы выполнить запрос объединения uning LINQ, чтобы выбрать одну из двух таблиц, но вернуть только один столбец.

Таблица 1:

ID, Name1, Email

Таблица 2:

ID, Name2, Email

Выберите Name1 и Name2 из таблиц, чтобы получить один столбец.

Итак, я бы хотел выбрать

Name
--------
Helen 
Mike 
Joe 

Не:

Name1
-------
Helen
Mike 

Name2
-------
Joe

1 Ответ

0 голосов
/ 13 января 2019

Если вам нужно выбрать только те имена, которые вы могли бы,

var result = table1.Select(x=>x.Name1).Union(table2.Select(x=>x.Name2));

Например, эмуляция вашего сценария с использованием коллекции.

var table1 = new List<Table1>
{
    new Table1{ID=1,Name1="Helen ",Email=""},
    new Table1{ID=2,Name1="Mike",Email=""},
};

var table2 = new List<Table2>
{
    new Table2{ID=1,Name2="Joe",Email=""},
};

Где

public class Table1
{
public int ID {get;set;}
public string Name1{get;set;}
public string Email{get;set;}
}

public class Table2
{
public int ID {get;set;}
public string Name2{get;set;}
public string Email{get;set;}
}

Запрос вернется

Helen  
Mike 
Joe 

Обратите внимание, что Union будет устранять дубликаты. Если вы хотели бы включить дубликаты, Concat будет лучшим вариантом. Если вы хотите узнать больше о разнице, эта тема будет хорошей ссылкой

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