我修改了我的 Windows Azure 移动服务预览表(名为“项目”)上的“读取”操作,如下所示:
Javascript:
function read(query, user, request)
{
var howRead;
if(howRead == "unique")
{
var sqlUnique = "SELECT DISTINCT ? FROM Item WHERE qProjectCode = ?";
mssql.query(sqlUnique)
request.execute();
}
else if (howRead == "column")
{
var sqlColumn = "SELECT ? FROM Item WHERE qProjectCode = ?";
mssql.query(sqlColumn)
request.execute();
}
else if (howRead == "all")
{
var sqlAll = "SELECT * FROM Item WHERE qProjectCode = ?";
mssql.query(sqlAll)
request.execute();
}
}
当我想要返回单列值的唯一列表、单列中的所有项目或所有列的唯一列表时,这很简单,同时将读取限制为具有给定项目代码的那些记录。
现在,这在 C# 中有效,但会扫描整个表(以及其他项目代码)并始终返回所有列。这本质上是低效的。
C#
var client = new MobileServiceClient("[https path", "[key]");
var table = client.GetTable<Item>();
var query1 = table.Where(w => w.QProjectCode == qgv.projCode && w.QRecord == (int)lbRecord.Items[uStartRecordIndex]);
var query1Enum = await query1.ToEnumerableAsync();
foreach (var i in query1Enum)
{
// process data
}
如何更改 c# 代码以处理 Javascript 代码?随意批评整体方法,因为我不是一个伟大的程序员,总是可以使用建议!
谢谢