无法在mvc 4中将Linq查询数据保存到db

时间:2016-02-01 09:02:07

标签: entity-framework asp.net-mvc-4

我无法将数据保存到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'。任何人都可以在整体情况中暗示我错在哪里吗?提前谢谢

1 个答案:

答案 0 :(得分:0)

您正尝试将IEnumerable值分配给int字段。 我认为您应该像First()一样添加var selectedPermissions = model.Permissions.Where(p => p.perm_status).Select(p => p.perm_id).First()