1

私はこのコードを持っています

            var tblGrouped = dtCSV.AsEnumerable()
                .GroupBy(r => new
                {
                    product_id   = r.Field<String>("product_id"),
                    owner_org_id = r.Field<String>("owner_org_id"),
                });

しかし、フィルターする列を追加したいと思います。たとえば、基本的に course_type_id = 1 の場合。dtCSV は、course_type_id が入力されるソースです。次のことを試しましたが、うまくいきませんでした:

            var tblGrouped = dtCSV.AsEnumerable()
                .GroupBy(r => new
                {
                    product_id   = r.Field<String>("product_id"),
                    owner_org_id = r.Field<String>("owner_org_id"),
                    course_type_id = "1",
                });
4

3 に答える 3

6

私があなたの要件を正しく理解していればcourse_type_id、1 の行をグループ化しますか?

var tblGrouped = dtCSV.AsEnumerable()
    .Where(r => r.Field<String>("course_type_id") == "1")
    .GroupBy(r => new
        {
            product_id   = r.Field<String>("product_id"),
            owner_org_id = r.Field<String>("owner_org_id"),
        });
于 2012-06-06T18:52:13.153 に答える
2

Where構文例を使用してフィルタリングするには。.Where(a=>a.Field<String>("course_type_id") == "1")

于 2012-06-06T18:52:58.387 に答える
2

最初に条件を追加します。次を使用してそれを行うことができます.Where

var tblGrouped = dtCSV.AsEnumerable()
    .Where(r => r.Field<String>("course_type_id") == "1")
    .GroupBy(r => new
    {
        product_id   = r.Field<String>("product_id"),
        owner_org_id = r.Field<String>("owner_org_id"),
        course_type_id = "1"
    });
于 2012-06-06T18:51:39.373 に答える