您好我有两个技术人员和专业的模型类我通过crating专业外键列给表关系我想用这个外键列创建Dropdownlist当我将此模型映射到SqlReader以获取插入函数时我有错误喜欢不能隐式地将int转换为model.profession。
型号代码:
public class Technician
{
[ScaffoldColumn (false)]
public int Id { get; set; }
[Required]
[Display(Name = "Name")]
public string Name { get; set; }
[Required]
public Profession Profession { get; set; }
}
public class Profession
{
[Key]
public int ProfessionId { get; set; }
public string ProfessionType { get; set; }
}
Db类代码:
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
Technician technician = new Technician();
technician.Id = Convert.ToInt32(dr["techId"]);
technician.Name = dr["techName"].ToString();
technician.Profession = Convert.ToInt32(dr["primeProfessionId"]);
Jobtechnicians.Add(technician);`
}
答案 0 :(得分:1)
错误在这里很清楚。 cannot implicitly convert int to model.profession
编译器说它不知道如何将Int32
转换为Profession
。
technician.Profession = Convert.ToInt32(dr["primeProfessionId"]);
在上面一行中,您尝试将int
值设置为Profession
。
我认为Profession
是一个类。所以你要在那里设置Profession
的实例。
像这样的事情
technician.Profession = FindProfessionByProfessionId(Convert.ToInt32(dr["primeProfessionId"]));
private Profession FindProfessionByProfessionId(int professionId)
{
//find profession instance or create one and return here
}