0

私のクエリは次のようなものです。

var currentUsrId = Convert.ToInt16(Membership.GetUser().ProviderUserKey);
var Ids = Context.audits
          .Where(i => i.usr_id == currentUsrId)
          .Select(i => new
                 {
                      profile_id = i.profile_id
                 }).ToArray();

for ( var m=0; m < (Ids.Length); m++)
{
    var Query = Context.audits
                .Where(j => j.usr_id == currentUsrId && j.profile_id == Convert.ToInt16(Ids[m].profile_id))
                .Select(j => j.profile_id).Count();

    var TotalQuery = Context.audits
                     .Where(i => i.usr_id == currentUsrId)
                     .Select(i => new
                     {
                         Id = currentUsrId,
                         count = Query
                     }).Distinct().ToArray();

    //return json(TotalQuery,JsonRequestBehavior.AllowGet);
    ----strucked at this part-----
}

forループを使ってレコードを送信したいのですが、これらの値を送信する方法に頭を悩ませました.ループ内でreturn jsonを使用すると、ループは1回しか実行されません

4

1 に答える 1

0

次のようなことを試してください:

List<T> queries = new List<T>();

for ( var m=0; m < (Ids.Length); m++)
{
    var Query = Context.audits
                .Where(j => j.usr_id == currentUsrId && j.profile_id == Convert.ToInt16(Ids[m].profile_id))
                .Select(j => j.profile_id).Count();

    var TotalQuery = Context.audits
                     .Where(i => i.usr_id == currentUsrId)
                     .Select(i => new
                     {
                         Id = currentUsrId,
                         count = Query
                     }).Distinct().ToArray();

    queries.add(TotalQuery);
}

return json(queries,JsonRequestBehavior.AllowGet);
于 2012-12-06T07:47:25.797 に答える