我想选择一个表的所有字段,而只选择第二个表的特定字段。有没有办法像在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的数据源时它会失败。目前我正在为每张桌子写下我需要的每个领域。
感谢。
答案 0 :(得分:2)
这不是SQL中的好习惯,即使可以使用Linq,也不是Linq的好习惯,除非Linq生成扩展到表的所有列的T-SQL代码。
答案 1 :(得分:2)
您可以做的一件事是:
var things = from t in db.table1
from t2 in db.table2
where ...Join Clause...
select new { MyProperty= t ,t2.onefield}
然后用:
访问T的fiedsvar t= things.First();
Console.WriteLine("{0}, {1}, {2}",
t.MyProperty.Field1,
t.MyProperty.Field2,
t.onefield);