在实体框架 4.1 中通用定义数据库模式名称
我知道您可以使用 ToTable("TableName", "SchemaName") 定义每个类的实体架构名称,但是有没有办法进行设置,以便您可以为中的所有表设置架构名称配置,因为当我使用某些类型的关系映射和拆分实体映射时,我得到一些奇怪的结果,它在内部 sql 查询中恢复为默认的 dbo.TableName
请参阅 这篇较早的文章获取 SQL 输出示例
i know you can define the entity's schema name per class by using ToTable("TableName", "SchemaName")
but is there a way to set it up so you can set the schema name for all tables in the configuration as i am getting some weird results when i am using some types of relationship mapping and split entity mapping where it is reverting back to the default dbo.TableName
in the internal sql queries
see this earlier post for sql output example
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我使用 EF 4.1 优先使用 Oracle 数据库,所有映射均通过数据注释完成。测试和生产环境中的架构名称不同。我的解决方案是在 OnModelCreating 期间借助 Fluent API、反射和后期绑定动态映射架构。迭代泛型类型的所有 Context 类属性并完成脏工作。到目前为止对我有用。
这里的用户类,没有硬编码的模式映射——
Im having Oracle database-first with EF 4.1, all mappings done with Data Annotations. Different Schema names in Test and Production environments. My solution is to map the Schema dynamically during OnModelCreating with some help of fluent API, reflection and late binding. Iterate through all Context class properties of generic type and do the dirty work. Works for me so far.
The user class here, with no hard-coded schema mapping --
由于最终 EFv4.1 版本没有用于自定义约定的公共 API,因此您无法从 API 全局更改架构。
Since final EFv4.1 version doesn't have public API for custom conventions you cannot change the schema globally from the API.