关于在ASP.NET MVC4.5中使用ef框架的若干问题

当初写这个功能的时候遇到不少坑,特此留念

(1)关于连接的建立

首先,需要在web.config中添加数据库连接:

  <connectionStrings>
    <add name="itemEntities" providerName="System.Data.SqlClient" connectionString="Data Source=localhost;Initial Catalog=item;Integrated Security=True" />
  </connectionStrings>

然后是添加这段:

<entityFramework>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
</entityFramework>

最后右键项目,点击“管理NUGet”,从里面下载EntityFramework的dll

这样就大功告成了。

当然,如果是通过直接添加ADO.NET实体数据模型的新建项的话,以上步骤可以省略,但是我更习惯将数据库的操作独立封装为一个类库,然后在主程序中添加对类库的引用

 

(2)关于code first的数据表的更新

关于这部分看了微软的官方文档,但是感觉比较简略,很多我关心的地方都没写;后来又看了一些别人写的博客,但感觉废话太多了,而且和微软一个尿性,基础的常用功能没讲,反而各种高级功能和废话一大堆。所以这里我只讲一些最基础的功能,关于code first的实体框架怎么建立我这里就不讲了,自己去搜。

 

数据表的更新可以设置为自动更新,但默认设置是手动更新。

手动更新:

(1)打开程序包管理器控制台后,输入这一句:

enable-migrations

以启用迁移

然后在实体类里随便改改,比如添加一个字段“test”:

然后继续往控制台输入:

add-migration MyDB

这个“MyDB”是我乱打的

回车后是这样:

最后继续输入:

update-database -Verbose

这个“-Verbose”参数可以输出sql语句执行的过程,调试的时候很有用

结果是这样:

这样就成了,关于删除和修改的方法也是和这个一样。

 

自动迁移:

关于自动迁移的操作比较简单,控制台里有时也会有这样的提示:

根据这个提示找到相应的类,并修改代码如下:

其实说起来下面那一行代码也是不需要的,但我这里还是加上去了,关于他的作用可以看看代码提示

这样改完了以后就可以省略掉add-migration MyDB  这一句代码,直接打update-database这句了。

 

展开阅读全文

没有更多推荐了,返回首页