Linq to sql 使用LINQ到SQL连接向复杂对象添加一列
我有一个超过100列的表。我需要将它连接到另一个表以获取更多列。我必须列出左表中的每一列,还是有更简单的方法Linq to sql 使用LINQ到SQL连接向复杂对象添加一列,linq-to-sql,join,Linq To Sql,Join,我有一个超过100列的表。我需要将它连接到另一个表以获取更多列。我必须列出左表中的每一列,还是有更简单的方法 var query = from p in context.policies join s in context.states on p.state_id equals s.state_id select new { p.column1, p.column2,
var query = from p in context.policies
join s in context.states
on p.state_id equals s.state_id
select new {
p.column1,
p.column2,
p.column3,
<etc> ...,
p.column123,
s.state_name
};
var query=来自context.policies中的p
在context.states中加入s
p.state_id等于s.state_id
选择新的{
p、 第1栏,
p、 第2栏,
p、 第3栏,
...,
p、 第123栏,
s、 州名
};
有没有一种方法可以做到这一点,而不只是创建一个全新的对象来添加一个字段?您可以定义一个字段来获取整个p对象,而不是单独列出匿名类型中的每个字段:
... select new { Policies = p, StateName = s.state_name };
然后,您必须通过obj.policies.nnn等访问策略字段
这是假设策略对象可以存在于原始数据集之外。如果是数据行或类似的行,这可能不起作用。我不知道匿名类型上的显式命名选项,直到几周前,我遇到了一种情况,我加入了两个集合,每个集合的对象都有相同的字段名。需要使用显式命名来解决名称冲突/歧义。