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

返回链接中的对象并修剪字段

  •  2
  • griegs  · 技术社区  · 14 年前

    假设我有下面的linq 2 sql命令;

    ItemsRepository.All().Where(r => r.type == "myType");
    

    假设它返回一个对象集合;

    • 身份证件
    • 标题
    • 描述
    • 类型

    如果描述中的chrs超过200,是否有方法返回整个对象并将描述修剪到前200个chrs?

    或者,我应该先收集这些资料,然后再通过它们进行评估?

    谢谢

    1 回复  |  直到 14 年前
        1
  •  1
  •   Frank Tzanabetis    14 年前

    可以使用Select将其投影到新集合。所以你有

    var x = ItemsRepository.All().Where(r => r.type == "myType");
    
    var y = x.Select(z => new { z.id, z.title, z.description.Substring(0,200), z.type });
    

    如果不希望投影到匿名类型,只需指定要投影到的类型-

    var y = x.Select(z => new MyNewType { ID = z.id, Title = z.title, Description = z.description.Substring(0,200), z.type });