首页 新闻 会员 周边 捐助

EF中,bool与int的转换问题?

0
悬赏园豆:50 [待解决问题]

采用code first模式。

成员为:

public bool Del { get; set; }

 

数据库中为int类型。

 

 

            using (var c = new Models.ModelDBContext())
            {

                if (c.Person.Count<Mvc4ExecuteSql.Models.Person>() == 0)
                {
                    c.InitDB();
                }




                //    List<Person> ps = null;
                IEnumerable<Person> ps = c.Person.ToList<Models.Person>().TakeWhile<Person>(p => p.UserID  == userid);


                if (ps.Count<Person>() == 0)
                {


                    return new Models.LoginResult(false, "不存在此用户!", userid, passw);
                }

       }

 

 

 

执行:  c.InitDB();时,就是很简单的:

            Person p = new Person();
            p.UserID = "Admin";
            p.Name = "管理员";
            p.Password = "123";
            p.PersonRole = Mvc4ExecuteSql.Models.Person.Role.Mangager;
            this.Person.Add(p);
            this.SaveChanges();

 

成功!

但是,在

IEnumerable<Person> ps = c.Person.ToList<Models.Person>().TakeWhile<Person>(p => p.UserID == userid);

中报错:

“Person”的“Del”属性不能设置为“Int32”值。必须将该属性设置为类型为“Boolean”的非 null 值。

孤独流星的主页 孤独流星 | 初学一级 | 园豆:152
提问于:2015-11-23 18:48
< >
分享
所有回答(1)
0

public bool Del { get; set; }的set加入转换代码就行

2012 | 园豆:21445 (高人七级) | 2015-11-24 11:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册