linq数据传递问题
我使用的ado.net实体数据模型做为实体层,将用户输入数据传回到实体对象时出错,代码如下:
protected void btnSave_Click(object sender, EventArgs e)
{
User user = new User();
user.ID = moduleID.Text;
user.UserName = moduleName.Text;
user.UserRole.RoleID = ddlRole.SelectedValue;//运行到此行时报错,显示“
未将对象引用设置到对象的实例” ,user为实体对象,UserRole为user对象的导航属性,我觉得这里出错应该是因为user类实例化后并不包涵RoleID对象,所以报错,请问这种情况有什么解决方法?
}
------解决方案--------------------user.UserRole= db.UserRole.Single(r=>r.RoleID == ddlRole.SelectedValue);
1.注意类型转换
2. 注意判断ddlRole.SelectedValue是否为空等
------解决方案--------------------2种方式
1。user.UserRoleID = ddlRole.SelectedValue
2.UserRole ur=new UserRole{RoleID=ddlRole.SelectedValue};
user.UserRole=ur;
------解决方案-------------------- 确定
ddlRole.SelectedValue 是和user.UserRole.RoleID 同一类型;
另外ddlRole.SelectedValue是否是有效的值?