首页 > 编程知识 正文

vs数据库增删改查,mvc怎么连接数据库

时间:2023-05-06 12:29:16 阅读:38409 作者:708

这几天我一直在看MVC开发模式。 现在,让我们将使用EF框架添加/删除/更改数据库的操作总结得很小

使用EF处理数据库时,首先添加ADO.NET数据模型。 此时,您可以为我添加数据上下文类。 使用此类中的对象可以对数据库执行任何操作。 因此,在使用EF处理数据库之前,必须创建数据上下文对象。

mydatabaseentitiesmde=newmydatabaseentities (;

1 .使用ef对数据库执行附加操作

1.1创建需要操作数据表的对象(通常表是实体或类),以tblPerson表为例(int id、string name、string sex、null ) 自动增加模具。

tblpersonpersonadd=newtblperson (;

personAdd.name='lss ';

personAdd.sex='男人';

personAdd.age=23; (补充: TBL人员表中规定age不能为空,必须为其赋值。 这将出现在随后的修改和删除操作中)

//在此明确说明,ID是自动增长型的,添加时无需为ID赋值。

1.2向EF上下文传达对数据库执行附加操作

MDE.TBLPerson.add(Personadd;

1.3将实体更改保存到数据库

mde.SaveChanges (

2 .使用ef删除数据库

2.1同样创建TBL人员对象

tblpersonpersondelete=newtblperson (;

//进行删除和修改操作时,必须指定主键ID。 (这里是ID,即表的主键,使用EF操作表时,必须为此表指定主键) ) ) ) ) ) )。

假设使用//ef删除了id为2的记录

personDelete.id=2;

//age不为空,需要给age赋值就可以了

personDelete.age=23;

2.2.1将method 1个人删除对象加载到EF实体容器中

mde.TBL person.attach (tblpersondelete );

2.2.2告诉上下文要进行删除操作

mde.TBL person.remove (tblpersondelete;

2.2.3将执行的删除操作保存到数据库中

mde.SaveChanges (;

//删除操作到此结束。 下面是第二种方法

2.2.1将method2person delete对象加载到EF实体容器中并检索返回的实体对象

dbentityentryentrydelete=mde.entry (tblpersondelete;

2.2.2将容器中实体对象的状态更改为delete

entry delete.state=system.data.entity state.deleted

2.2.3保存删除的实体对象

mde.SaveChanges (;

3 .使用ef更改数据库

3.1创建TBL人员对象

tblpersontblpersonmodify=newtblperson (;

进行//修正操作时,需要指定id以修正假定id为3的数据

tblPersonModify.id=3;

//如果将表示要修正的列的id为3的数据的name变更为yzk

tblPersonModify.name='yzk ';

//这里需要同时给age赋值

tblPersonModify.age=34;

3.2将tblpersonmodify对象加载到EF帧中,并检索返回的主体对象

dnentityentryentrymodify=mde.entry (tblpersonmodify;

3.3将ef框架中tblPersonModify实体对象的保存状态更改为未修改

entry modify.state=system.data.entity state.unchanged;

3.4将tblpersonmodify对象中需要修改的属性从EF中框架的实体状态IsModified更改为true。 这表明需要EF来修改此属性

输入修改. property (d=d.name ).is修改=true;

3.5指示上下文将更改的实体对象保存到数据库中

mde.SaveChanges (;

4 .使用ef查询数据库的操作(SQO和linq ) )。

4.1使用sqo查询数据库

4.1.1这里发生了延迟加载。 数据库中的工具显示,此步骤没有到数据库查询,而只是保存了sql查询语言

dbquerydbquery=mde.TBL person.where (d=d.name like ' % l % ' ) as DbQuery;

4.1.2tolist ) )方法执行查询,但数据库中的数据除外

列表列表=dbquery.to list (;

4.2使用linq语句查询数据库

(fromdinmde.tblpersonwhered.name like ' % l % ' selectd )

上面代码的返回类型是IQueryable通用集合

与上述相同,必须调用ToList ) )方法将他转换为list集合

到此为止,使用EF检查、修改、添加和删除数据库的操作已经写完了。 请多关照。 ~~~~~ ~

译文: http://www.cnblogs.com/坦率的白汤-Liu/p/5039724.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。