0

Assessment テーブルから moduleName の個別の値を取得したいと考えています。ModuleName は Assessment-List のルックアップ列です。ModuleName は ModuleList からリンクされています。評価リストからモジュール名の個別の数を取得する方法を教えてください。

protected void drpCoursesName_SelectedIndexChanged(object sender, EventArgs e)
{
    using (SiteEntitiesDataContext siteEntitiesDataContext = new SiteEntitiesDataContext(SPContext.Current.Site.Url))
    {
        EntityList<AssessmentItem> listItems = siteEntitiesDataContext.GetList<AssessmentItem>("Assessment");
        var distinctModuleCount = from module1 in listItems
                                  group module1 by new { module1.ModuleName }
                                  into grp
                                  select new
                                  {
                                      count1=grp.Count(),
                                  };
        int modulecount=distinctModuleCount.Count();

        foreach(var item in distinctModuleCount)
        {
            Label lbl1 = new Label();
            lbl1.Text = modulecount.ToString();
            PlaceHolderAssessment.Controls.Add(lbl1);
        }//end of for loop
    }//end of Data Context
}//end of method

前もって感謝します。

4

1 に答える 1

0

あなたが何を求めているのかを正確に解釈するのは少し難しかったですが、以下がお役に立てば幸いです。

次のように定義されたクラスがあるとします。

public class AssessmentItem
{
    public string ModuleName { get; set; }
}

そして、これらのクラスのコレクションを初期化してクエリする次のコード:

var items = new List<AssessmentItem>
    {
        new AssessmentItem { ModuleName = "Test 1" },
        new AssessmentItem { ModuleName = "Test 1" },
        new AssessmentItem { ModuleName = "Test 2" },
        new AssessmentItem { ModuleName = "Test 2" },
        new AssessmentItem { ModuleName = "Test 2" }
    };

var grouped = items.GroupBy(x => x.ModuleName);
Debug.WriteLine("Distinct modules {0}", grouped.Count());
foreach (var group in grouped)
{
    Debug.WriteLine("{0} has {1} entries", group.Key, group.Count());
}

次の出力が表示されます。

Distinct modules 2
Test 1 has 2 entries
Test 2 has 3 entries
于 2013-02-12T12:23:48.497 に答える