在大多数asp.net应用程序中,您可以通过在运行时修改连接字符串来更改数据库存储方式。例如,我可以通过简单地更改连接字符串中"database"字段的值,从使用测试数据库切换到生产数据库。
我正在尝试使用实体框架更改模式(但不一定是数据库本身),但没有成功。
我看到的问题是edmx xml文件中SSDL内容存储了每个entityset的模式。
请参见下面的内容:
我正在尝试使用实体框架更改模式(但不一定是数据库本身),但没有成功。
我看到的问题是edmx xml文件中SSDL内容存储了每个entityset的模式。
请参见下面的内容:
<EntitySet
Name="task"
EntityType="hardModel.Store.task"
store:Type="Tables"
Schema="test" />
现在我已经将模式属性值从测试更改为“prod”,它可以正常工作。
但这似乎不是一个好的解决方案。
- 我需要更新每个实体集以及存储过程(我有50多个表)
- 我只能在编译时执行此操作吗?
- 如果我后来尝试更新实体模型-由于EF未能识别EDM中已存在的表,因此已经存在的实体将被读取。
有什么想法吗?