2009-11-16 3 views
1

Я хочу выбрать все поля одной таблицы и задать только поля второй таблицы. Есть ли способ сделать это как с таблицей. * В SQL?Оператор linq как * (звездочка) в sql

var things = from t in db.table1 
       from t2 in db.table2 
       where ...Join Clause... 
       select new { t.*,t2.onefield} 

очевидно, что этот код не работает, но я думаю, что это иллюстрирует мою наводнение.

, если я использую

select new {t,t2.onefield} 

компилируется, но терпит неудачу, когда я задаю его к источнику данных из DataGridView в. В настоящее время я пишу каждое поле, которое мне нужно для каждой таблицы.

Спасибо.

+0

Принятый ответ не дает ответа на вопрос –

ответ

2

Это не очень хорошая практика в SQL и даже если это может быть сделано с Linq, также не было бы хорошей практикой с Linq, если Linq не будет генерировать код T-SQL, который будет расширяться ко всем столбцам таблицы ,

2

Одна вещь, которую вы могли бы сделать это следующим образом:

var things = from t in db.table1 
      from t2 in db.table2 
      where ...Join Clause... 
      select new { MyProperty= t ,t2.onefield} 

, а затем получить доступ к fieds T с:

var t= things.First(); 
Console.WriteLine("{0}, {1}, {2}", 
        t.MyProperty.Field1, 
        t.MyProperty.Field2, 
        t.onefield); 
Смежные вопросы