5

現在、linq でネストされたクエリを実行しようとしていますが、次のエラー メッセージが表示されます。

var subcatquery = from categories in mydb.Categories
                  where categories.ParentId == null
                  select new
                  {
                      category = categories.Name,
                      subcat = (from sub in mydb.Categories
                                where sub.ParentId == sub.Id
                                select new
                                {
                                    subcatItem = sub.Name,
                                    subcatId = sub.Id
                                 })
                    };

結果ビュー =The type '<>f__AnonymousType0<subcatItem,subcatId>' exists in both 'myapplication.dll' and 'System.Web.dll'

理由がわかりません..サブクエリを削除して、それを単独で配置すると...まったく問題ありません。

subcatタイプは aですが、collection<>これが問題ですか?

    class categoryGroup 
    {
        public string category;
        public Collection<subcategoryGroup> subcat;

    }
    class subcategoryGroup
    {
        public string subcatItem;
        public int subcatId;

    }
4

2 に答える 2

1

私のプロジェクトでは、次のようなサブクエリを使用しています

 var data = (from con in dbData.tblPresenters
                        where con.PresenterID == ID
                        select new
                        {
                            Name = con.Name,

                            Title = dbData.tblTitles.Where(x => x.TitleID == con.PresenterTitleID).FirstOrDefault()
                        }).ToList();

私はこれがあなたを助けると思います...。

于 2012-10-05T05:01:58.343 に答える
1

タイプを匿名にする代わりに、タイプを定義/名前付けしようとしましたか?

var subcatquery = from categories in mydb.Categories
                   where categories.ParentId == null
                   select new categoryGroup()
                   {
                       category = categories.Name,
                       subcat = (from sub in mydb.Categories
                                 where sub.ParentId == sub.Id
                                 select new subcategoryGroup()
                                 {
                                     subcatItem = sub.Name,
                                     subcatId = sub.Id
                                  })
                     };
于 2012-10-05T14:58:34.330 に答える