前言
学习EF发现,泛型,Lambda表达式,标准查询运算符都有所涉及,可是自己对这些知识还是有些陌生,目前阶段只能照葫芦画瓢的用EF敲出一个简单登录实例,具体的原理有待进一步学习。其核心代码其实只有两行而已:
//判断用户名是否存在
List<User> list = db.Users.Where(u => u.UserName == uid).ToList();
//判断密码是否正确
List<User> list2 = db.Users.Where(u => u.UserName == uid && u.Password == pwd).ToList();
代码
/// <summary>
/// 数据上下文对象
/// </summary>
static EFTestEntities db = new EFTestEntities();
private void btnLogin_Click(object sender, EventArgs e)
{
string uid = txtUserName.Text.Trim();
string pwd = txtPwd.Text.Trim();
//1.判断用户名是否存在
List<User> list = db.Users.Where(u => u.UserName == uid).ToList();
if (list.Count >= 1)
{
//用户存在
//2.判断密码是否正确
List<User> list2 = db.Users.Where(u => u.UserName == uid && u.Password == pwd).ToList();
if (list2.Count >= 1)
{
//用户存在且密码正确
MessageBox.Show("登录成功!", "温馨提示");
}
else
{
MessageBox.Show("用户存在但密码不正确!", "温馨提示");
}
}
else
{
MessageBox.Show("用户不存在!", "温馨提示");
}
}
重写了User类的ToString()方法
public partial class User
{
public override string ToString()
{
return this.UserName + "," + this.Password;
}
}
总结
EF好像另一种编程方式一样,即使不会写连接数据库语句和sql语句照样可以完成对数据库的增删改查。另外,在用EF进行数据库查询的时候,和参数化查询类似,它也可以很好的避免sql注入的问题。