2011-01-05 3 views
0

私はMS SQL、EF 4およびC#を使用します。EntityDataSourceを使用してTreeViewを作成する方法

私は "カテゴリ"のSQLのテーブルを持って、私は自分のAsp.netページでTreeViewを作成する必要があります。

私の質問は以下のとおりです。

  • 1 - どのように私は、TreeViewコントロールを取り込むことができますか?
  • 2ツリービューを使用してカテゴリの階層を変更するにはどうすればよいですか?

注: "hierarchyid" SQL列を使用します。

ありがとうございました!

CREATE TABLE dbo.CmsCategories 
(
    CategoryId   int    NOT NULL IDENTITY (0,1) -- Seed = 0 and Increment= 1 
     CONSTRAINT PK_CmsCategories_CategoryId PRIMARY KEY, 
    Title    nvarchar(40) NOT NULL, 
    MetaDescription  nvarchar(160) NOT NULL, 
    MetaKeyword   nvarchar(128) NOT NULL, 
    Summary    nvarchar(256) NOT NULL, 
    IsPublished   bit    NOT NULL 
     CONSTRAINT DF_CmsCategories_IsPublished DEFAULT 1, 
    CategoryNode  hierarchyid  NOT NULL, 
    CategoryNodeLevel AS CategoryNode.GetLevel()   
); 

答えて

1

残念ながら、EF4はHierarchyId(まだ)をサポートしていません。したがって、この場合、おそらく、階層を処理し、結果セットをEFに戻すストアド・プロシージャを用意して、EF4をユーザー定義の複合型のコレクションに変換してから、直接ツリービューコントロール。

データベース内の階層を更新する場合は、同じ方法を使用します。EFからストアドプロシージャを呼び出して、データベースの階層を更新します。

+0

こんにちは、ありがとう、私はあなたの考えを評価しています。生のADO.NETを使うのはどうですか?ここの例http://www.thereforesystems.com/working-with-sql-server-hierarchyid-data-type-in​​-net-application/ – GibboK

+0

@GibboK:はい、生のADO.NETは確実です。私はEF5がSQL Server 2008のすべての機能をサポートすることを願っています!いいですか... –

+0

EF 5が登場するときのアイデアは?ありがとう、素敵な一日を! – GibboK

関連する問題