加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

oracle – 在EF6中变动数据库模式的最简捷要领

发布时间:2021-03-30 15:28:42 所属栏目:站长百科 来源:网络整理
导读:今朝我们正在用mvc5编写一个页面,个中一个oracle sql数据库与entitiy framework 6相连. 我们今朝在oracle数据库中有两个模式,一个用于测试,另一个用于开拓.权力框架中的模子是从开拓数据库天生的,并与之美满地协同事变. 将毗连字符串变动为测试模式时呈现问

今朝我们正在用mvc5编写一个页面,个中一个oracle sql数据库与entitiy framework 6相连.

我们今朝在oracle数据库中有两个模式,一个用于测试,另一个用于开拓.权力框架中的模子是从开拓数据库天生的,并与之美满地协同事变.

将毗连字符串变动为测试模式时呈现题目.变动毗连字符串后,应用措施无法找到表(由于它们如故引用开拓方案).

今朝我可以通过删除模子中的全部表,并从正确的模式从头建设模子,或手动编辑引用模式的每个文件来办理此题目.这两种办理方案都有点烦人且轻易堕落.

这种环境凡是如那里理赏罚?

编辑

好像变动数据库并保存架构,不会发生任何错误.以是这只是架构相干的.

办理要领

通过Entity Framework代码中的流通映射,您可以在运行时指示默认架构.这是在DbContext子类中的OnModelCreating中的一个语句,譬喻:

modelBuilder.HasDefaultSchema("dev");

您风俗于从数据库中从头天生模子,从中我得出结论,模子不包括很多(或任何)自界说,这些自界说将使模子天生成为费力的操纵.这也应该使得移动到代码优先相对轻易.以是我提议你这样做.

在Visual Studio中,您可以通过从Visual Studio的实体框架器材附带的模板添加“ADO.Net实体数据模子”,从现稀有据库天生代码优先模子. (也许已预先安装).选择“数据库中的代码优先”选项并遵循指南.

假如这样做,您将在包括模子的项目中找到毗连字符串.此毗连字符串可以作为您将放入执行措施集的设置文件中的毗连字符串的模板.你会留意到它看起来不像……

metadata=res://* ... provider=System.Data.SqlClient;provider connection string="...""

这是属于数据库优先edmx模子的毗连字符串.它包括元数据文件的路径,这些元数据文件作为资源天生到措施齐集.相反,毗连字符串将是一个简朴的ADO.Net毗连字符串.行使代码优先,EF将在运行时天生元数据.

假如你有这个,你可以在设置文件中添加一个条目用于默认数据库模式,并行使它来配置我上面表现的模式.

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读