Привязка двух таблиц базы данных к одной и той же сетке данных - PullRequest
0 голосов
/ 02 октября 2011

Я хотел бы знать, как я мог бы использовать две разные таблицы из нескольких баз данных Sql Compact в одной и той же таблице данных wpf. У меня есть две таблицы в настоящее время, Accounts и AccountType. В Учетных записях есть внешний ключ, чтобы связать его с AccountType, в котором он является идентификатором типа. У меня также есть поле в Аккаунтах, чтобы связать его с родительским аккаунтом (по сути, это внешний ключ к идентификатору другого аккаунта). Ниже приведен wpf, который я должен связать с таблицей данных в таблице учетных записей.

<Window.Resources>
    <my:MyAccountantDBDataSet x:Key="myAccountantDBDataSet" />
    <CollectionViewSource x:Key="accountsViewSource" Source="{Binding Path=Accounts, Source={StaticResource myAccountantDBDataSet}}" />
    <CollectionViewSource x:Key="accountTypeViewSource" Source="{Binding Path=AccountType, Source={StaticResource myAccountantDBDataSet}}" />
</Window.Resources>

            <DataGrid Background="DimGray" Name="GridAccounts" CanUserAddRows="True" CanUserDeleteRows="True" ItemsSource="{Binding Source={StaticResource accountsViewSource}}" AutoGenerateColumns="False">
                <DataGrid.Columns>
                    <DataGridTextColumn Header="Name" Binding="{Binding Path=AccountName}"/>
                    <DataGridTextColumn Header="Description" Binding="{Binding Path=AccountDesc}" />
                    <DataGridTextColumn Header="Number" Binding="{Binding Path=AccountNumber}"/>
                    <DataGridTextColumn Header="Type" />
                    <DataGridTextColumn Header="Parent Account" />
                </DataGrid.Columns>
            </DataGrid>

Что я хотел бы сделать, это связать столбец Тип с таблицей AccountType и показать Имя типа, а не Идентификатор типа. Кроме того, та же идея для родительской учетной записи, я не хочу показывать идентификационный номер, а скорее имя учетной записи, если у него есть родительская учетная запись. Как я могу сделать это с этими двумя столбцами?

1 Ответ

2 голосов
/ 02 октября 2011

Можете ли вы создать представление, объединяющее две таблицы в базе данных, а затем запросить представление из C #?Таким образом, вся обработка выполняется в базе данных и может быть более эффективной, чем в вашем приложении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...