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

动态修改LINQ to SQL Select语句的列

  •  1
  • ANaimi  · 技术社区  · 15 年前


    www.example.com/submissions/?format=json

    我想做一些事情,比如:
    www.example.com/submissions/?format=json&filter=name,user

    就JSON输出而言,这相当简单。我可以从数据库中加载所有列,并创建和序列化一个只包含过滤器中的列的对象。但是,我不想加载数据库中的所有列- 我只想用我将包含在响应中的列来干扰我的数据库 .

    var result = from record in Submissions
                 select
                 {
                    Name,
                    Date,
                    User,
                    Body
                 };
    

    现在我有了答案 result

    filter 查询并排除未提及的列。


    JavaScript.Serialize(result.ToList());

    使用LINQtoSQL是否可以实现这一点?

    2 回复  |  直到 15 年前
        1
  •  3
  •   dahlbyk    15 年前

    Dynamic LINQ ,提供 Select

    var filter = "name,user";
    var result = Submissions.Select("new(" + filter + ")");
    

    然后将字符串转换为表达式树并传递给查询提供程序。

        2
  •  1
  •   bytebender    15 年前