C# 如何将ComboBox.SelectedIndex添加为FK

C# 如何将ComboBox.SelectedIndex添加为FK,c#,.net,.net-3.5,entity-framework-4.1,foreign-keys,C#,.net,.net 3.5,Entity Framework 4.1,Foreign Keys,我有一个表单,其中包含一个组合框,其中包含有关城市的数据。 我想将FK cityid插入我的Employee表。那么我该怎么补充呢 我正在做以下事情,但这会给我一个错误: Payroll.Entities.City p = (Payroll.Entities.City) cmbCity.SelectedIndex; 如何在employee表中分配城市id?假设EntityObj是您的实体对象 Payroll.Entities.Employee objEmp = new Payroll.Enti

我有一个表单,其中包含一个组合框,其中包含有关城市的数据。 我想将FK cityid插入我的Employee表。那么我该怎么补充呢

我正在做以下事情,但这会给我一个错误:

Payroll.Entities.City p = (Payroll.Entities.City) cmbCity.SelectedIndex;

如何在employee表中分配城市id?

假设EntityObj是您的实体对象

Payroll.Entities.Employee objEmp = new Payroll.Entities.Employee();
objEmp.cityid = int.Parse(cmbCity.SelectedValue);
EntityObj.AddToEmployee(objEmp);
EntityObj.SaveChanges();

如果将城市加载到组合框中,则
SelectedItem
应该可以工作:

Payroll.Entities.City p = (Payroll.Entities.City) cmbCity.SelectedItem;
var p = db.Cities.Single(c => c.Name == cmbCity.SelectedValue);
//or
//var p = db.Cities.Single(c => c.Name == cmbCity.Text);

但是,如果您只是将部分城市数据加载到组合框中,那么类似的操作应该可以工作:

Payroll.Entities.City p = (Payroll.Entities.City) cmbCity.SelectedItem;
var p = db.Cities.Single(c => c.Name == cmbCity.SelectedValue);
//or
//var p = db.Cities.Single(c => c.Name == cmbCity.Text);

城市的定义是什么?这是一节课吗?如何将类强制转换为整数?无法将int转换为entity.payroll.cityobjEmp.cityid=cmbCity.SelectedValue;给我错误,如无法将隐式类型字符串转换为entity.payroll.cityi无法在实体框架中访问这样的城市。。在林肯,这是可能的。你如何找到员工?为什么你不能访问城市?@abatishchev SelectedIndex不能是Id,它只是一个索引!