EntityFramework使用的ProviderManifest向後兼容,特別是對於Oracle和SQL Server?實體框架中ProviderManifests的向後兼容
我正在創建一個DbProviderInfo類的實例傳遞給DbModel.Build()。構造函數的第二個參數是ProviderManifestToken。
隨着documentation說,該ProviderManifestToken是:
標識數據庫服務器是 的版本中使用的字符串。例如,SQL Server提供程序使用字符串「2008」作爲SQL Server 2008的 。它不能爲空,但可能爲空。
有一個相關的未回答的問題here詢問ProviderManifestInfo的作用。從閱讀this page我明白,它允許數據庫提供商確定哪個版本的ProviderManifest返回,而不使用數據庫連接。 (ProviderManifest的功能也在最後一個鏈接中進行了說明)。
實驗中,我發現我可以使用Oracle 12數據庫,ProviderManifestToken爲「11.2」,沒有任何問題。但是,這應該是真實的一般?例如,如果我通過「2008」作爲ProviderManifestToken並且正在使用SQL Server 2012,那麼我能期待「事情」能夠正常工作嗎?
我一直無法找到關於這一點的任何文檔,如果事情從提供者到提供者不同,我不會感到驚訝。