我们在项目中,添加EF模型,就是ADO.NET实体数据模型。
添加之后,进入这个页面,选择第一个,第一个是根据数据库生成实体,一般设计好了数据,就可用第一个,第二个是没有设计好数据库,然后创建完后,直接可以设计数据库,然后再生成EF模型。
下个界面,点击新建连接,然后填写好,很简单,我就不赘述了,然后就选中下图中的是。名字可以改改你想设置的名字。
表就直接全选上,然后有存储过程的话,也选上。
然后点击完成,就等着他自动生成就行了。然后生成了很多的东西,那么下面我们就看看吧,这个东西怎么用阿,非常简单。
选中的这个类名,就是我们要用的了,我们在Program里面直接写代码就行了,增删改查 都可以。
先说增删改,大家声明上下文,就是上面我选中的类名。
//做一个添加操作
//1.声明一个EF 上下文
newssysemEntities newssysemEntities = new newssysemEntities();
//2.声明一个User 实体
category category = new category();
category.id = 2018;
category.name = "真香";
增
//3.告诉EF咱们对上面的实体做一个插入操作
newssysemEntities.categories.Add(category);
改
//3.告诉EF咱们对上面的实体做一个更新操作
newssysemEntities.Entry<category>(category).State = System.Data.Entity.EntityState.Modified;
//3.对某个 列 属性做更新
//newssysemEntities.Entry<category>(category).Property<string>(u => u.name).IsModified = true;
删
newssysemEntities.Entry<category>(category).State = System.Data.Entity.EntityState.Deleted ;
//4.告诉上下文把实体的变化保存到数据库里面去
newssysemEntities.SaveChanges();
Console.ReadKey();
查询的话,比较复杂,我放到后面单独说一下,因为查询用到linq,这个没有接触过的小伙伴可以去查一下。我觉得写的不错的Linq博客
//做一个添加操作
//1.声明一个EF 上下文
newssysemEntities newssysemEntities = new newssysemEntities();
//2.声明一个User 实体
category category = new category();
//3.循环打印监视的数据
//1查询所有数据打印出来
foreach (var user in newssysemEntities.categories)
{
Console.WriteLine(user.id + " " + user.name);
}
//2查询 id大于2的数据打印出来
var temp = from u in newssysemEntities.categories
where u.id > 2
select u;
foreach (var categories in temp)
{
Console.WriteLine(categories.id + " " + categories.name);
}
//4.告诉上下文把实体的变化保存到数据库里面去
newssysemEntities.SaveChanges();
Console.ReadKey();
总的来说,我们在用EF模型的时候,省去了好多的麻烦,省得我们去写三层了,而且也不用担心写错,让程序去生成,就减少了我们人工敲代码,产生的错误,提高了效率。