Mysql Provider 的 Ado.net 实体框架中的多个数据库
我想访问 Ado.net 实体框架中的 2 个不同的数据库。我在项目中创建了一个 .edmx 文件,如何在单个 .edmx 文件中访问两个不同的数据库 数据库提供程序是 MySQL。
问候, 文卡特斯瓦拉劳
I want to have access to 2 different databases in Ado.net Entity framework. I created one .edmx file in project, how can i access two different database in single .edmx file Database provider is MySQL.
Regards,
venkateswararao
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
两个数据库相同还是不同?
如果与您可以对两者使用一个 emdx 相同,则只需使用 2 个不同的连接字符串创建 2 个数据库上下文对象。
如果它们不同,您必须创建 2 个不同的 emdx 文件。
Are two databases are same or different?
If same than you can use one emdx against both, you just have to create 2 dabase context objects with 2 different connection strings.
If they are different than you have to create 2 different emdx files.
这是不可能的。每个数据库必须有单独的 EDMX 文件(和上下文)。有一些丑陋的解决方法,例如通过第一个数据库中的视图公开第二个数据库中的表(因此 EDMX 仅与第一个数据库通信),但这会带来其他问题,因为视图在 EF 中是只读的,除非您为每个公开的表创建 CUD 存储过程一个视图。
It is not possible. You must have separate EDMX file (and context) for each database. There are some ugly workarounds like exposing tables from second database via views in the first database (so EDMX talks only to the first database) but that brings other problems because views are read only in EF unless you create CUD stored procedures for every table exposed as a view.
为多提供程序支持准备实体框架模型
请参阅此 转到链接
Preparing an Entity Framework model for multi provider support
Look To This Go To Link