代码之家  ›  专栏  ›  技术社区  ›  Sisiutl

使用LINQ到SQL联接向复杂对象添加一列

  •  2
  • Sisiutl  · 技术社区  · 16 年前

    我有一个超过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,
                  p.column3,
                  <etc> ...,
                  p.column123,
                  s.state_name
                };
    

    有没有一种方法可以做到这一点,而不只是为了添加一个字段而创建一个全新的对象?

    1 回复  |  直到 16 年前
        1
  •  2
  •   dthorpe    16 年前

    您可以定义一个获取整个p对象的字段,而不是单独列出匿名类型中的每个字段:

    ... select new { Policies = p, StateName = s.state_name };
    

    这是假设Policies对象可以存在于原始数据集之外。如果它是一个数据行或类似的,这可能不起作用。