sql中的类linq运算符*(星号)

sql中的类linq运算符*(星号),linq,linq-to-sql,Linq,Linq To Sql,我想选择一个表的所有字段,只选择第二个表的特定字段。有什么方法可以像SQL中的table.*那样执行此操作吗 var things = from t in db.table1 from t2 in db.table2 where ...Join Clause... select new { t.*,t2.onefield} 显然,这段代码不起作用,但我认为它说明了我的想法 如果我使用 select new {

我想选择一个表的所有字段,只选择第二个表的特定字段。有什么方法可以像SQL中的table.*那样执行此操作吗

 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的数据源时,它会失败。目前,我正在编写每个表所需的每个字段


谢谢。

这在SQL中不是好的实践,即使可以用Linq实现,也不是Linq的好实践,除非Linq将生成扩展到表中所有列的t-SQL代码。

这在SQL中不是好实践,即使可以用Linq实现,也不是Linq的好实践,除非Linq将生成扩展到表中所有列的T-SQL代码。

您可以执行以下操作:

var things = from t in db.table1
          from t2 in db.table2
          where ...Join Clause...
          select new { MyProperty= t ,t2.onefield}
然后通过以下方式访问T的领地:

var t= things.First();
Console.WriteLine("{0}, {1}, {2}", 
                  t.MyProperty.Field1, 
                  t.MyProperty.Field2, 
                  t.onefield);

您可以做的一件事是:

var things = from t in db.table1
          from t2 in db.table2
          where ...Join Clause...
          select new { MyProperty= t ,t2.onefield}
然后通过以下方式访问T的领地:

var t= things.First();
Console.WriteLine("{0}, {1}, {2}", 
                  t.MyProperty.Field1, 
                  t.MyProperty.Field2, 
                  t.onefield);

被接受的答案不回答问题被接受的答案不回答问题