我无法将数据保存到db我在下一行中收到错误
var data = new ts_grp_perm_mapping
{
grp_id=model.GroupID,
perm_id=selectedPermissions
};
这是我的模特。
public partial class ts_grp_perm_mapping
{
public ts_grp_perm_mapping()
{
this.ts_perm_levelmapping = new HashSet<ts_perm_levelmapping>();
}
public int grp_permid { get; set; }
public int grp_id { get; set; }
public int perm_id { get; set; }
public virtual tm_grp_group tm_grp_group { get; set; }
public virtual tm_perm_level tm_perm_level { get; set; }
public virtual ICollection<ts_perm_levelmapping> ts_perm_levelmapping { get; set; }
}
这是我的行动方法
public ActionResult Index(GroupPermissionVM model)
{
var groups = db.tm_grp_group;
model.GroupList = new SelectList(groups, "grp_id", "grp_name",model.GroupID);
if (!ModelState.IsValid)
{
var selectedPermissions = model.Permissions.Where(p => p.perm_status).Select(p => p.perm_id);
var data = new ts_grp_perm_mapping
{
grp_id=model.GroupID,
perm_id=selectedPermissions
};
ViewBag.Message = "Data Stored in Db";
}
return View(model);
}
这是我的观点模型。
public class PermissionVM
{
public int perm_id { get; set; }
public string perm_levelname { get; set; }
public string perm_description { get; set; }
public bool perm_status { get; set; }
}
public class GroupPermissionVM
{
public int GroupID { get; set; }
public IEnumerable<SelectListItem> GroupList { get; set; }
public IEnumerable<PermissionVM> Permissions { get; set; }
}
我在尝试保存数据时遇到错误。我在perm_id = selectedPermissions错误附近低于wrror:无法隐式转换类型'System.collections.Generic.IEnumerabletoínt'。任何人都可以在整体情况中暗示我错在哪里吗?提前谢谢
答案 0 :(得分:0)
您正尝试将IEnumerable
值分配给int
字段。
我认为您应该像First()
一样添加var selectedPermissions = model.Permissions.Where(p => p.perm_status).Select(p => p.perm_id).First()
。