C# 实体框架外键表isn';t保存对其BindingSource所做的更改

C# 实体框架外键表isn';t保存对其BindingSource所做的更改,c#,data-binding,linq-to-entities,entity-framework-4,C#,Data Binding,Linq To Entities,Entity Framework 4,我有两张桌子: CREATE TABLE `Vehicles` ( `ID` int(10) unsigned NOT NULL AUTO_INCREMENT, ... Other columns PRIMARY KEY (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1 以及: 以下是数据对象的图片: 我将Vehicle和Vehicle选项拖放到我的表单上。然后,我使用LINQ查询加载

我有两张桌子:

CREATE TABLE `Vehicles` (
    `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
    ... Other columns
    PRIMARY KEY (`ID`)
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1
以及:

以下是数据对象的图片:

我将Vehicle和Vehicle选项拖放到我的表单上。然后,我使用LINQ查询加载数据库:

var dataSource = from v in Database.DataContext.Vehicles.Include("VehicleOptions")
                 orderby v.Stock descending
                 select v;

// The vehicles BindingSource
bsVehicles.DataSource = dataSource;

// The vehicleoptions BindingSource
bsVehicleOptions.DataSource = bsVehicles;
bsVehicleOptions.DataMember = "VehicleOptions";
每当我在表格上添加/编辑数据时,我调用:

bsVehicles.SuspendBinding();
bsVehicleOptions.SuspendBinding();
Database.DataContext.SaveChanges();
bsVehicleOptions.ResumeBinding();
bsVehicles.ResumeBinding();
bsVehicles
所做的更改保存在my MySQL数据库中,但对
bsVehicleOptions
所做的更改不保存。即使在表单上,绑定到
bsVehicleOptions
的控件也会在
Database.DataContext.SaveChanges()上清空其数据我是不是遗漏了什么


注意:我使用的是Entity Framework V4(我听说旧版本中的关联很时髦?)

能否尝试分离,然后将VehicleOptions附加到Vehicles对象图中,然后调用context.SaveChanges()?将其与数据上下文分离?如果车辆选项尚不存在(例如,我正在添加一辆新车),该怎么办?图像链接已断开。为什么要围绕保存执行挂起/恢复绑定?
bsVehicles.SuspendBinding();
bsVehicleOptions.SuspendBinding();
Database.DataContext.SaveChanges();
bsVehicleOptions.ResumeBinding();
bsVehicles.ResumeBinding();