Иерархическая декларативная привязка структуры сущности WPF - PullRequest
0 голосов
/ 16 сентября 2018

Я пытаюсь использовать декларативное связывание для привязки объекта каркаса сущности к древовидной структуре. Таблица SQL, на которой основан объект, является иерархической таблицей SQL. Вот схема:

CREATE TABLE [dbo].[lkpSource](
         [OrgNode] [hierarchyid] NOT NULL,
         [OrgLevel]  AS ([OrgNode].[GetLevel]()),
         [ID] [uniqueidentifier] NOT NULL,
         [Title] [nvarchar](50) NOT NULL,
         [HierarchyString]  AS ([OrgNode].ToString()) PERSISTED,
             CONSTRAINT [PK__lkpSourc__C1ECAF2A53908500] 
                        PRIMARY KEY CLUSTERED ([ID] ASC)
                        WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
                        IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
                        ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[lkpSource] ADD  DEFAULT (newid()) FOR [ID]
GO

Строковое поле является одним из многих методов, которые я пытался привязать к работе, в коде, который я также добавил [DatabaseGenerated(DatabaseGeneratedOption.Computed)] поверх объявления свойства.

У меня есть источник данных в окне XAML. Ресурсы:

<CollectionViewSource x:Key="sourceViewSource" 
                      d:DesignSource="{d:DesignInstance {x:Type
                      local:lkpSource}, CreateList=True}"/>

Подобные источники данных успешно привязываются к сеткам данных в приложении, поэтому у меня, похоже, мой контекст и все настроено правильно.

Я потратил около 12 часов, пробуя различные вещи, которые я нашел в Интернете, которые не совсем применимы - либо они не использовали структуру сущностей, либо они не использовали иерархические данные, либо они не были WPF - ничего не получалось или даже близко не подошло.

Можно ли связать это декларативно? Если да, может кто-нибудь опубликовать краткий пример XAML в виде дерева? Единственный столбец, который мне нужен, это заголовок. Если невозможно связать декларативно, может кто-нибудь указать мне учебник, который включает в себя все вовлеченные факторы, включая иерархические данные, структуру сущностей и WPF? Спасибо.

Visual Studio 2017, цель 4.7.1 SQL Server 2017 Entity Framework 6.2

Обновление: это свойство добавлено в lkpSource.cs проекта, если оно помогает:

public SqlHierarchyId? OrgNode
{
    get
    {
        return SqlHierarchyId.Parse(HierarchyString);
    }
    set
    {
        OrgNode = value;
    }
}
...