2012-04-16 3 views
0

도시에 대한 데이터가 포함 된 ComboBox가 포함 된 양식을 사용 중입니다. FK cityid를 Employee 테이블에 삽입하고 싶습니다. 어떻게 추가 할 수 있습니까?ComboBox.SelectedIndex를 FK로 추가하는 방법

나는 다음과 같은 일을하고 있지만, 그것은 나에게 오류가 제공됩니다

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

가 어떻게 직원 테이블에 도시 ID를 할당 할 수 있습니까?

+0

'Cit y'? 수업입니까? 어떻게 클래스를 정수로 변환 할 수 있습니까? – abatishchev

+0

예, 엔티티 클래스입니다. – Smily

+0

어떤 오류가 발생합니까? – abatishchev

답변

-1

ssuming EntityObj는 사용자 개체입니다. 당신은 단지 콤보 상자에 부분적인 도시 데이터를로드하는 경우, 뭔가를

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


을하지만 : 콤보 상자에 도시를로드하는 경우

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

** objEmp.cityid = cmbCity.SelectedValue; ** cant가 암시 적 유형 문자열을 entity.payroll.city로 변환하는 것과 같은 오류를 발생합니다. – Smily

+0

코드가 OP와 같습니다. – abatishchev

+0

sry 나는 u를 얻지 못하고있다. – Smily

1
var city = db.Cities.Single(c => c.Id == Int32.Parse(cmbCity.SelectedValue)); 
employee.City = city; 
+0

Entity 프레임 워크에서 도시를 액세스 할 수 없다. LINQ에서 가능하다. – Smily

+0

어떻게 Employees를 얻을 수 있습니까? 왜 도시에 접근 할 수 없습니까? – abatishchev

+1

@abatishchev SelectedIndex는 ID가 될 수 없습니다. 단지 색인입니다. –

1

, 다음 SelectedItem 작동합니다 이런 식으로 작동해야합니다 :

var p = db.Cities.Single(c => c.Name == cmbCity.SelectedValue); 
//or 
//var p = db.Cities.Single(c => c.Name == cmbCity.Text); 
관련 문제