星空网 > 软件开发 > ASP.net

Code First添加一个现有数据库中的表

描述

刚刚使用EF,还没搞明白,遇到下面问题,记录一下。

都说EF好用,一直也没用过,以前写代码都是ADO.NET,写起来费时费力还没什么大进展,如果能把这些事简化一下把精力放到逻辑或者更有用的地方岂不是更好。所以想使用EF。Code First,从字面的意思来看是先有代码后有数据库,通过Model来创建数据库,好像只能是通过Model来生成数据库,至少我接触2天以来是这样,项目已经开始一段时间了,数据库已经有一定的数据,虽然是测试数据,但也不想删掉,从新添加数据也是很烦人的事。想找到一种能够不删除数据表还能使用Code First的方法。

Migrations

这个工具很不错但Model有变化的时候可以使用命令直接更新到数据库中,网上找了好长时间都是从Model更新到数据库,没提到怎么将现有数据库中的表加入都这个更新中。Google了一天终于看到了方法,其实Migrations为我们想到了。

Migrations使用方法:https://msdn.microsoft.com/zh-cn/data/jj591621

将现有表加入到Migrations中的方法:https://channel9.msdn.com/Blogs/EF/Migrations-Existing-Databases

 

过程

其实很简单。

1、使用ADO.NET实例数据模型工具,来自数据库的Code First,将需要的表的Model生成到项目中,这个时候必要的Model模型已经出来了。

2、我做的时候把生成模型的DbContext删除掉了,用我自己的DbContext,毕竟有那么多的DbContext连接的功能还是一样的看起来很碍眼,把生成的DbSet复制到自己的DbContext中。

3、使用Add-Migrations -IgnoreChanges,我感觉这里才是重点,如果没启用Migrations启用一下,Enable-Migrations上边有使用方法。

4、Update-Database这个时候应该就可以了。

5、如果更新Model,Add-Migrations命令,再Update-Database就可以了。




原标题:Code First添加一个现有数据库中的表

关键词:数据库

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

贸易战:https://www.goluckyvip.com/tag/10368.html
东莞走泰国物流:https://www.goluckyvip.com/tag/103682.html
东莞市泰国物流:https://www.goluckyvip.com/tag/103685.html
广州寄泰国:https://www.goluckyvip.com/tag/103687.html
厦门泰国快递:https://www.goluckyvip.com/tag/103688.html
防疫用品:https://www.goluckyvip.com/tag/10369.html
延安市区景点都收费吗 延安景点要门票吗:https://www.vstour.cn/a/408250.html
大同旅游攻略一日游 山西大同一日游旅游景点有哪些:https://www.vstour.cn/a/408251.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流