一、平台
windows7 64bit、Sql server2012、vs2013
二、目标
学习c# EF的最最基本的CRUD操作
三、用sql server2012创建数据库和student表(略过)
四、用VS2013新建控制台项目
五、创建EF实体数据模型
1.右键单击VS右侧的控制台项目,添加、新建项、选中左侧C#, 中间选中“ADO.NET实体数据模型”。
2.选择“来自数据库的EF设计器”、下一步
3.新建数据库连接。其实这一步也是让EF去连接数据库,就好像是个链接字符串一样。如果第一次做这东西,必须点“新建链接”
如果是新建链接,那就写上服务器地址,写上sql登录账号密码,选择数据库名,确定即可。
4.点完成。
5.此时就能看到在控制台中多出来一个叫Model1.edmx的东西
六、在控制台写测试代码,完整代码如下:
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace testConsoleEF
{
class Program
{
static void Main(string[] args)
{
#region 01.EF较为原始的CRUD操作方法举例
//TestStudentEntities context = new TestStudentEntities();
//增
//Student s1 = new Student() { sName="user02", sAddress="tw"};
//context.Student.Add(s1);
//context.SaveChanges();
//删除
//int sid = 3;
//var s1 = from s in context.Student where s.sID == sid select s;
//context.Student.Remove(s1.FirstOrDefault());
//context.SaveChanges();
//Console.WriteLine("删除成功");
//改
//Student s1 = new Student() { sID = 2, sName = "haha" };
//var s2 = from s in context.Student where s.sID == s1.sID select s;
//Student s3 = s2.FirstOrDefault();
//s3.sName = s1.sName;
//context.SaveChanges();
//Console.WriteLine("修改成功");
//查
//context.Student.Select(s=>s);
//var s1 = from s in context.Student select s;
//Console.WriteLine(s1.Count());
#endregion
#region 02.EF标记方式实现CRUD
TestStudentEntities context = new TestStudentEntities();
//增
//Student s1 = new Student() { sName = "Yiwanka", sAddress = "sbUSA" };
//context.Entry<Student>(s1).State = EntityState.Added;
//context.SaveChanges();
//删
//Student s1 = new Student() { sID = 5, sName = "Yiwanka" };
//context.Entry<Student>(s1).State = EntityState.Deleted;
//context.SaveChanges();
//改
//Student s1 = new Student() { sID = 4, sName = "TrumpSB" };
//context.Entry<Student>(s1).State = EntityState.Modified;
//context.SaveChanges();
//查
//var user = context.Student.Select(s => s);
//Console.WriteLine(user.Count());
#endregion
Console.WriteLine("ok");
Console.ReadKey();
}
}
}
部分测试结果如下:
看人家做的东西之后,我模仿了一遍,感觉这玩意稍微有点烧脑,我还是更喜欢dapper
2019年5月30日14:57:03