2012-04-16 101 views
0

我试图在.net 3.5中的实体框架中的我的两个表之间定义一对多关系。一对多关系在asp.net中将外键保存为NULL

市表

CityId 
CityName 

EMPLOYEE表

EmployeeId 
EmployeeName 
RegistrationDate 
FK_CityID 

我试图在员工中插入数据插入完美的所有数据,但FK_CityID是instred NULL。点击代码 DateTime dt = new DateTime(2008,12,12);

EmployeeService es = new EmployeeService(); 
    CityService cs = new CityService(); 
    Payroll.Entities.Employee e1 = new Payroll.Entities.Employee(); 

    Payroll.Entities.City city1 = cs.SelectCity(Convert.ToInt32(cmbCity.SelectedItem.Value)); 

    e1.FK_CityID = city1; 
    e1 = Payroll.Entities.Employee.CreateEmployee(0, "Archana",dt); 
    es.AddEmpoyee(e1); 

e1.City我传递整个对象,它是city1(城市的对象),它是完美,但传入数据库将保存NULL

为MyService类是

public string AddEmpoyee(Payroll.Entities.Employee e1) 
     { 
      //DAO 
      Payroll_DAO payrollDAO = new Payroll_DAO(); 
      payrollDAO.AddToEmployee(e1); 
      payrollDAO.SaveChanges(); 
      return "SUCCESS"; 
     } 

,我没有得到我的错......

+1

打开你的SQL事件探查器,看看,什么是价值获得通过,当您保存!或者在es.AddEmployee(e1)放一个断点并查看e1的字段。 – 2012-04-16 13:27:10

+0

我在** es.AddEmployee(e1)**处放置了一个中断点**我没有在** FK_CityID **中获得价值。但由于我得到** cityReference ** – Smily 2012-04-17 05:41:02

回答

0

您好我得到了解决..

Payroll.Entities.City city1 = new Payroll.Entities.City(); 
city1 = cs.SelectCity(Convert.ToInt64(cmbCity.SelectedItem.Value)); 

e1.EmployeeName = "Archana"; 
e1.RegistrationDate= dt; 
e1.FK_CityID = city1; 

es.AddEmpoyee(e1);