Entity framework 1:n绑定到DataGridComboxColumn

Entity framework 1:n绑定到DataGridComboxColumn,entity-framework,data-binding,datagridcomboboxcolumn,Entity Framework,Data Binding,Datagridcomboboxcolumn,我想在DataGrid CollectionViewSource中显示1:n关系。基于EntityFramework 迄今为止的工作: 显示基本数据,显示DataGridComboxColumn,可以在DataGridComboxColumn中选择其他条目 不起作用: 使用_context.SaveChanges保存更改_context是DatabaseContext的一个实例。 因此,如果我更改DataGridComboxColumn列中的另一个类型并尝试保护它,我得到: System.Inv

我想在DataGrid CollectionViewSource中显示1:n关系。基于EntityFramework

迄今为止的工作: 显示基本数据,显示DataGridComboxColumn,可以在DataGridComboxColumn中选择其他条目

不起作用: 使用_context.SaveChanges保存更改_context是DatabaseContext的一个实例。 因此,如果我更改DataGridComboxColumn列中的另一个类型并尝试保护它,我得到: System.InvalidOperationException:属性“Typed”是对象关键信息的一部分,不能更改。将德语翻译成英语

信息:我可以在数据库中直接更改Operation.TypId属性,没有错误

XAML:

我的ViewModel:

   namespace ProdPlanNET.ViewModels
   {
      class OperationPageViewModel : BaseViewModel
{

    public CollectionViewSource cvs = new CollectionViewSource();
    private DatabaseContext _context = new DatabaseContext();

    public ObservableCollection<Typ> Types
    {
        get
        {
            return _context.Types.Local;
        }
        set { }
    }

    System.Windows.Data.CollectionViewSource operationViewSource;

    public OperationPageViewModel(object viewSource)
    {
        this.operationViewSource = ((System.Windows.Data.CollectionViewSource)viewSource);

        _context.Types.Load();
        _context.Workplaces.Load();
        _context.Operations.Load();

        operationViewSource.Source = _context.Operations.Local;

    }
    public void SaveCommand()
    {    

            _context.SaveChanges();
   }}}
是我自己弄的

  <DataGridComboBoxColumn ItemsSource="{Binding Source={StaticResource source}}" 
                  SelectedValueBinding="{Binding Typ, Mode=TwoWay}" DisplayMemberPath="Name" />
希望它能帮助别人

  <DataGridComboBoxColumn ItemsSource="{Binding Source={StaticResource source}}" 
                  SelectedValueBinding="{Binding Typ, Mode=TwoWay}" DisplayMemberPath="Name" />