采用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 值。
public bool Del { get; set; }的set加入转换代码就行