实体框架是否能够与其他具有未知表结构的数据库进行交互?
本文关键字:结构 数据库 交互 未知 是否 框架 其他 实体 | 更新日期: 2023-09-27 18:07:30
我在我的最新项目中一直使用EF,并且很享受使用它编程的便捷性。虽然在连接上设置和使用自己的规则稍微困难一些,但是一旦设置好了,就像对待类和它们的方法一样对待数据库,这为它增加了一层简单性。
然而,在我的情况下,我遇到了一些场合,我仍然不能使用EF。我的程序有一个主数据库的工作。太好了!但它也与同一服务器上的其他数据库通信。例如,它从用户在程序内部指定的外部表中读取数据。这些表当然不能被EF识别,而且它们每次都有不同的结构。为了与这些表通信,我不得不像以前一样使用正常的Sql代码。所以我觉得有点介于两个世界之间。我只是想知道是否有可能使外部数据动态地成为Entity Model
的一部分,或者是否可以在框架中容纳这些外部数据?
据我所知,这是不可能的。实体框架是ORM,所以它将你的模型(类)映射到数据库。如果你不知道你的模型,你就不能告诉EF如何映射它。您应该使用另一种方法与动态数据通信。
给LINQ-to-SQL (L2S)一个尝试;我想你会发现,你喜欢EF的很多地方是LINQ到实体(L2E)的表现力,而LINQ的语法是相同的。
我不会对你撒谎:在使用L2S的时候,我总是希望我的关系是POCO上的第一类属性,但是在这种情况下,你不可能拥有一切。