2

我有三张桌子。员工、ClientEmp 和客户。

ClientEmp 有ForeignKeyEmployee (EmployeeID) 和 Client(ClientID)。

到目前为止,我可以EF根据客户端在我的数据库中(使用)保存对 ClientEmp 的更改selected。但是我必须ForeignKey手动输入 EmployeeIDtextbox才能匹配要保存的数据。

显然,如果用户不知道 EmployeeID FK 输入了什么,这对用户来说不是很友好textbox

因此,有没有办法list使用 Employee 表中的 a 显示 Employee Firstname combo box ,然后将其保存到数据库中?

我已经尝试过了,但它似乎不起作用。

<ComboBox Grid.Column="1" Grid.Row="1" Name="cbEmployeeName" 
          ItemsSource="{Binding Source={StaticResource Employee}}" 
          DisplayMemberPath="FirstName" 
          SelectedValuePath="EmployeeID">
</ComboBox>

我也尝试使用此链接此处的此链接来提供帮助,但无济于事。我究竟做错了什么?

任何帮助将非常感激 :)。

4

1 回答 1

2

最后,我在WPF 聊天室的帮助和Maverik的帮助下设法解决了这个问题。

在我的 xaml 中,我定义了以下内容;

<ResourceDictionary>
        <ObjectDataProvider x:Key="Employee"
                            ObjectType="{x:Type vm:ClientBookKeepingViewModel}"
                            MethodName="GetEmp">
        </ObjectDataProvider>
</ResourceDictionary>

<ComboBox Grid.Column="1" Grid.Row="1" Name="cbEmployeeName" 
             ItemsSource="{Binding Source={StaticResource Employee}}" 
             DisplayMemberPath="FirstName" 
             SelectedValue="{Binding Path=EmployeeID}"
             SelectedValuePath="EmployeeID"
/>

在我的 ViewModel 中,创建了这个方法来获取员工列表;

public IEnumerable<DataObjects.Employee> GetEmp() 
{
    return context.Employees;
}
于 2013-05-09T14:21:52.840 回答