首页 > 其他 > 详细

vs2012中对于entity framework的使用

时间:2014-03-11 15:30:34      阅读:549      评论:0      收藏:0      [点我收藏+]

很久之前就听说过微软entity framewor的强大与便利,今天终于不手懒了,动手写了一些东西,但也遇到了一些问题。

实践步骤:

1.首先在vs2012中新建一个控制台应用程序

2.在项目中添加一个ado.net实体数据模型

3.在生成的空的ado.net实体数据模型界面中,设计数据表,并设置它们之间的关系。

4.右键“从模型生成数据库”,在这一步出了问题,始终没有直接生成成功(在低版本vs中一路顺风,没出现这问题),但是脚本生成是正确的,于是乎,直接用脚本在数据库中执行生成了。。。。(此处没搞明白,求大神指点)

5.在低版本的中习惯了看自动生成代码中生成的“数据上下文”和“实体类”了,今晚手贱了一把,微软默认的将“代码生成策略”定为无,我改成了“默认设置”,结果,提示各种重复,想了一下,明白了,是自己画蛇添足了,果断将“代码生成策略”改回无,ok,运行成功。

 

一:插入操作:

bubuko.com,布布扣
1 EducationEntitiesmode ef = new EducationEntitiesmode();//实例化上下文
2 
3             banji bj = new banji();//实例化实体类
4             bj.ID = 123;
5             bj.Number = 124;//给实体类的每个字段赋值
6             ef.Class集.Add(bj);//将实体类实例化的对象附加到相应的实体集中
7             ef.SaveChanges();
bubuko.com,布布扣

二:修改操作

bubuko.com,布布扣
1 EducationEntitiesmode ef = new EducationEntitiesmode();
2             banji bj=new banji();
3             bj.ID=654;
4             bj.Number=852;
5             ef.Class集.Attach(bj);
6             //ef.ObjectStateManager.ChangeObjectState(bj, EntityState.Modified);
7             ef.Entry(bj).State = System.Data.EntityState.Modified;
8             ef.SaveChanges();
bubuko.com,布布扣

可以看到,上面有一行是被注释掉的,相信用过低版本的同学一定很熟悉那句话,但在2012中却变的坑爹的消失了。查了一堆资料,好多人说要引用System.Data.Objects,好吧,我水了,找遍了引用都没看到这个引用。但是问题还不是得解决么。。。最后,两种解决办法:1.用注释掉那句的下边那句话来代替2.自己降级吧,从高版本的vs习惯奖回到低版本的vs习惯。就是删除文件下的所有.tt文件,然后,然后就是我在上边“画蛇添足”干的那件事情,把“代码生成策略”改为默认,ok,恭喜你回到你熟悉的entity framework.bubuko.com,布布扣

三:查找多条记录

bubuko.com,布布扣
1 EducationEntitiesmode ef = new EducationEntitiesmode();
2             var db = from c in ef.Class集
3                      where c.ID > 123
4                      select c;
5             foreach (var item in db)
6             { 
7             //循环输出;
8             }
bubuko.com,布布扣

四:查找一条记录

bubuko.com,布布扣
1 EducationEntitiesmode ef = new EducationEntitiesmode();
2             var db = (from c in ef.Class集
3                      where c.ID == 123
4                      select c).FirstOrDefault();
bubuko.com,布布扣

五:删除一条记录

bubuko.com,布布扣
            EducationEntitiesmode ef = new EducationEntitiesmode();
            banji bj = new banji();
            bj.ID = 654;
            ef.Class集.Attach(bj);
            ef.Entry(bj).State = System.Data.EntityState.Deleted;
            ef.SaveChanges();
bubuko.com,布布扣

暂时就这些简单操作吧。自己的第一次entity framework,Mark一下,继续对ORM的学习。

 

 

vs2012中对于entity framework的使用,布布扣,bubuko.com

vs2012中对于entity framework的使用

原文:http://www.cnblogs.com/mhdtysp/p/3593089.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!