迁移会影响我的数据库吗?

时间:2017-06-09 15:48:57

标签: c# asp.net-mvc database sql-server-2008

我正在学习实体框架来查询我公司的数据库。我有一个ASP.NET MVC项目,截至目前,我已经建立了与该公司的主服务器数据库的连接。这使我可以访问所有表格,并创建了一个单独的类库,其中包含所有相应的POCO(自动生成)。

在我关注的教程中,他们说要使用" enable-migrations"使用模型更新数据库。

那么这是否意味着如果我要修改项目中的模型,那会对数据库产生直接影响?由于我是这个项目的新手,我不想做任何愚蠢的事情,比如改变数据库。现在我只想查询数据库并检索信息,然后使用该信息在网页上显示更多或更少的信息。

编辑:作为一个例子,我想展示EF生成的模型与我的真实表格之间的区别。我有一个包含和ID的表Web_Profils,一个ProfileName和一个Order(int)。此DB没有主键或外键。如果存在关系,则通过新表定义它们。但是当EF生成我的所有类时,它会添加ICollections,例如在Web_Profils中,我有一个virtual ICollection<Web_User_joint_Profils>Web_User_joint_Profils,它在实际表中不存在,它似乎只是EF推导出的关系(它是关系)表Web_User_joint_Profils中的用户和配置文件之间的关系。现在,进行迁移会影响我的表,因为EF已经在我的模型中添加了这些集合吗?

我还读到可以使用以下方法停用迁移:

Database.SetInitializer(new ContextInitializerNone<YourDbContext>());

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

如果更新模型,则需要向项目添加迁移并使用该迁移更新数据库。

除非您在更新模型后执行这些步骤,否则更改不会反映在数据库中。