注:EF登录实例教程。使用工具:SQL Server、Visual Studio
1、新建一个数据表,起名Users,新建三个字段ID,UserName,Password。如果自己懒的建,直接复制下面的代码到sql中执行即可。
create database EF //新建数据库
create table Users ( //新建数据库表
ID int identity(1,1) not null,
UserName nchar(10) not null,
Password nchar(10) not null
)
insert into Users(UserName,Password) values('admin','admin') //插入一行数据
2、新建一个Windows窗体应用程序,起名EFLogin,画登录窗体。
3、添加实体模型,完成与特定数据库的连接。
- 使用快捷键ctrl+shift+A打开【添加新项】对话框,选择数据–ADO.NET实体数据模型,起名EFLogin,单击添加即可。
- 选择模型内容。 在弹出的【实体数据模型向导】对话框,选择“从数据库生成”,单击下一步即可。
- 选择数据库连接。单击新建连接,【服务器名】输入点(.),表示本机数据库服务器;【使用SQL Server身份验证】,输入用户名和密码,选中保存密码。在下面【选择或输入数据库名称】的下拉框中选择EF数据库。点击【确定】即可。
- 保存连接字符串。选择【是,在连接字符串中包括敏感数据】,单击下一步。
- 选择【表】–【dbo】–【Users】,选中【确定所生成对象名称的单复数形式(S)】,单击【完成】,实体模型就添加好了。
4、编写功能代码,实现登录。
在画好的登录窗体上双击登录按钮,复制下面的代码。
/// <summary>
/// 数据上下文对象
/// </summary>
static EFEntities db = new EFEntities();
private void btnLogin_Click(object sender, EventArgs e)
{
string uid = txtUserName.Text.Trim();
string pwd = txtPassword.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()方法,方便数据的查询和显示。
- ctrl+shift+A,添加类。如果直接以User命名的话会报重名的错误,咱起名为OverWriteUser,然后在代码中把类名改成User即可。
namespace EFLogin
{
public partial class User
{
public override string ToString()
{
return this.UserName + "," + this.Password;
}
}
}
- 效果图展示
ok,至此,利用EF实现winform登录的实例就全部做完了。
总结
简单的登录实例,按照上述步骤操作,只要稍微有一些winform编程基础的同学,即使之前没有听说过EF,也应该可以很顺利的敲出这个实例的。那本文的目的就达到了,给初学EF的同学一个最直观的感受。【如有不足之处,欢迎指正】