EF框架有三种基本的方式:DB First,Model First,Code First。这里简单的说一下DB First,适合没有基础的同学照着做,学习基础的东西。

DatabaseFirst就是围绕数据库为中心的开发方式,使用这种模式我们必须要先设计和创建数据库,然后使用VS在已有数据库的基础上创建ADO.NET实体数据模型,之后就可以在编程的过程中使用EF访问和操作数据库里的数据了

1、先在数据库中创建几张表

2、在vs中创建一个类库项目,添加ado.net实体数据模型

点完成后,生成如下edmx

在DBFirst模式下,是不需要对edmx文件做修改的,让系统自动生成就好了

如果现在要对表结构或者列名进行修改,那么先在数据库上修改好了,然后在edmx中将相应的实体删除,选择从数据库更新模型 ,再将删除的表添加回来

同样的,添加表也是如此,这种情况下,即使原来数据库里面有数据也不会有什么影响的

3、在这个项目中做一个简单的增删改查,在class1类中添加如下代码

 public class Class1
{
modelEntities mo = null;
public Class1()
{
mo = new modelEntities();
}
public IList<Role> getRoleSet()
{
//使用Lambda表达式查询数据
IList<Role> RoleList = mo.Role.Where(o => o.RoleName != "").ToList();
return RoleList;
} public int AddRoleSet(Role r)
{
try
{
mo.Role.Add(r);
mo.SaveChanges();//对数据库的修改一定要添加这条语句
}
catch (Exception e)
{
return ;
}
return ;
} public int ModifyRoleSet(Role r)
{
IList<Role> rlist = mo.Role.Where(o => o.Id == r.Id).ToList();
Role rn = rlist.ElementAtOrDefault();
if (null != rn)
{
rn = r;
return mo.SaveChanges();
}
return ;
}
public bool DelRoleSet(Role r)
{
try
{
mo.Role.Remove(r);
mo.SaveChanges();
}
catch (Exception e)
{
return false;
}
return true; } }

创建一个控制台项目,将数据库链接字符串复制到配置文件中,然后直接调用class1中的方法就可以实现简单的增删改查了

4、与modelfirst相比,dbfirst在项目开发中更容易,至少,在数据库有数据的情况下,添加新的实体要更简单,也不用担心会因为误操作而导致数据丢失。

EF模式下,也可以直接使用sql语句来实现增删改查,这里就不讨论了

最新文章

  1. JVM系列-常用参数
  2. CentOS 7 php留言本网站的搭建
  3. 数论 - n元线性同余方程的解法
  4. HDU 4857 逃生 (优先队列+反向拓扑)
  5. 【性能诊断】六、并发场景的性能分析(windbg案例,大量的内部异常造成CPU飙升)
  6. 怎么去掉Xcode工程中的某种类型的警告
  7. svn不能更新也不能提交【svn A conflict in the working copy obstructs the current operation】
  8. boost库区间range基本原理及使用实例
  9. Implement Custom Cache Dependencies in ASP.NET 1.x
  10. mongodb数据文件内部结构
  11. Wix打包系列(三)自定义Action(Custom Action)
  12. get,post,jsonp数据交互—百度下拉列表
  13. Python面向对象编程 -- 类和实例、访问限制
  14. JUnit源码分析 - 扩展 - 自定义Rule
  15. vue2.0 项目搭建 和vue 2.0 electron 项目搭建
  16. Qt基础学习(3)-----滑动条之QSlider
  17. 第70讲:Scala界面GUI编程实战详解
  18. indy10的idhttpServer应答字符串
  19. java 怎么打印变量
  20. CentOS 7.4 使用源码包编译安装MySQL 5.7.20

热门文章

  1. Datatable 插入一行数据到第一行
  2. Django-F和Q函数作用与使用
  3. [bzoj4247][挂饰] (动规+排序)
  4. Java基础学习总结(77)——Java枚举再总结
  5. SQL 快速参考-----http://www.runoob.com/sql/sql-quickref.html
  6. pace.js – 网页自动加载进度条插件
  7. [luoguP2854] [USACO06DEC]牛的过山车Cow Roller Coaster(DP + sort)
  8. HBase单节点的安装与配置
  9. zoj——3556 How Many Sets I
  10. 16、Java并发性和多线程-死锁