我正在尝试为我的应用程序构建一个REST-ful API。目前我有这样的:
www.example.com/submissions/?format=json
动态修改LINQ to SQL选择语句的列
这将返回JSON中的最新十个提交。每个对象都有其详细信息,如提交的名称,创建日期,用户,身体等
我想要做的事情,如:
www.example.com/submissions/?format=json&filter=name,user
过滤器应请求返还相同的结果,但只包括提到的细节,即每个对象将只有一个名称和用户。
这在JSON输出方面相当简单。我可以加载数据库中的所有列,并创建并序列化一个只包含过滤器中的列的对象。然而,我不想加载数据库中的所有列 - 我想打扰我的数据库,只有我将包含在响应中的列。
我想要做这样的事情:
var result = from record in Submissions
select
{
Name,
Date,
User,
Body
};
现在我有result
对象,这是IQueryable的,所以数据库没有呼叫尚未作出。
然后,我应该检查filter
查询字符串并排除未提及的列。
最后,我可以像
执行SELECT语句 JavaScript.Serialize(result.ToList());
这可能与LINQ to SQL的?
这将会容易得多... – bytebender 2009-11-30 21:14:21