vs2012 entity framework mysql_vs2012中对于entity framework的使用

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

实践步骤:

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

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

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

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

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

一:插入操作:

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();

二:修改操作

1 EducationEntitiesmode ef = newEducationEntitiesmode();2 banji bj=newbanji();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();

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

29242e2a45a3c629c3c26ae70b1c0aef.png

三:查找多条记录

1 EducationEntitiesmode ef = newEducationEntitiesmode();2 var db = from c inef.Class集3 where c.ID > 123

4 selectc;5 foreach (var item indb)6 {7 //循环输出;

8 }

四:查找一条记录

1 EducationEntitiesmode ef = newEducationEntitiesmode();2 var db = (from c inef.Class集3 where c.ID == 123

4 select c).FirstOrDefault();

五:删除一条记录

EducationEntitiesmode ef = newEducationEntitiesmode();

banji bj= newbanji();

bj.ID= 654;

ef.Class集.Attach(bj);

ef.Entry(bj).State=System.Data.EntityState.Deleted;

ef.SaveChanges();

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值