2

我想开发一个支持使用SQL ServerOracle作为其数据存储层的软件。

我可以使用实体框架来实现吗?我的系统的架构将如何。在这种情况下是否有任何建议/最佳实践?

感谢你的帮助。

4

1 回答 1

2

好的,根据您的评论,我认为您需要编写两个不同的 EDMX 文件,其中 CSDL 部分(设计器中显示的实体)必须完全相同。

EDMX 文件由四部分组成:

  • SSDL - 依赖于数据库提供者的数据库描述
  • CSDL - 实体描述
  • MSL - SSDL 和 CSDL 之间的映射
  • 关于图表的设计器相关信息

编译后的 EDMX 被分解为三个 xml 文件(ssdl、msl 和 csdl)作为资源附加到包含程序集。然后从 EF 连接字符串中引用这些文件。

您必须将 EFv4 与 POCO 实体一起使用,这将允许您在多个 EDMX 之间共享一组实体,因为 POCO 实体与图中通过命名约定定义的真实实体相关。

可以强制 EF 将这三个 XML 存储在文件中而不是资源中,这样您就可以在运行时共享 CSDL 部分,但对于需要 EDMX 而不是分离部分的设计器仍然不起作用。

于 2011-04-24T15:12:29.697 回答