Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在组合框中显示外键约束的名称_C#_Wpf_Entity Framework_Data Binding_Combobox - Fatal编程技术网

C# 在组合框中显示外键约束的名称

C# 在组合框中显示外键约束的名称,c#,wpf,entity-framework,data-binding,combobox,C#,Wpf,Entity Framework,Data Binding,Combobox,我有三张桌子。员工、客户和客户 ClientEmp拥有员工(EmployeeID)和客户(ClientID)的ForeignKey 到目前为止,我能够基于所选的客户机将对ClientEmp的更改保存在数据库中(使用EF)。但是我必须在文本框中手动键入EmployeeIDForeignKey,才能匹配要保存的数据 显然,如果用户也不知道在文本框中输入的EmployeeID FK是什么,那么这对用户不是很友好 因此,是否有一种方法可以使用Employee表中的组合框显示Employee Firstn

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

ClientEmp拥有员工(EmployeeID)和客户(ClientID)的
ForeignKey

到目前为止,我能够基于所选的
客户机将对ClientEmp的更改保存在数据库中(使用
EF
)。但是我必须在
文本框中手动键入EmployeeID
ForeignKey
,才能匹配要保存的数据

显然,如果用户也不知道在
文本框中输入的EmployeeID FK是什么,那么这对用户不是很友好

因此,是否有一种方法可以使用Employee表中的
组合框显示Employee Firstname的
列表
,然后将其保存到数据库中

我试过这个,但似乎不起作用

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

我也尝试过使用和帮助,但没有效果。我做错了什么


任何帮助都将不胜感激:)。

最后,在和的帮助下,我设法找到了答案

在我的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;
}
public IEnumerable GetEmp()
{
返回上下文。员工;
}