2011-05-01 39 views
8

我在一個MVC3項目中使用實體框架4。我試圖訪問兩個不同的數據庫(A和B):使用實體框架同時使用兩個不同的數據庫

  • 數據庫A和B是完全不同的和無關的。
  • 數據庫A是'代碼優先'的SQL壓縮數據庫。
  • 數據庫B是'數據庫第一'的SQL Server數據庫。
  • 我對任一數據庫都有簡單的查詢,沒有鏈接或跨數據庫連接。
  • 如果我從項目中刪除其他DbContext,那麼數據庫連接都可以工作。

現在,當我嘗試從數據庫A中查詢時,出現異常「無法找到概念模型類型」。

我無法想象EF不會讓您使用不同的數據庫,所以我的問題是:創建適當的DbContext的新實例時是否需要額外執行一些操作?

+0

你有沒有找到解決方案?即時通訊具有完全相同的問題(除了我只有數據庫A的一半有edmx,一半是代碼初級) – 2011-07-25 05:59:07

回答

1

請確保您不使用相同的實體名稱edmx文件。您可以用xml editor右鍵點擊該文件並手動更改edmx

請注意,由於某些安全原因,您不能嵌套上下文。他們只能分開使用。

+0

哦,這是一個好點;但是,我的實體不具有相同的名稱或標識符。順便說一下,我只有「數據庫優先」數據庫的edmx文件。 – 2011-05-01 22:53:30

2

我試圖解決「無法找到概念模型類型」異常時偶然發現此線程。
我使用多個型號的EF 4.2。我用我的一個模型實現了DbContext來「試用」。當我編譯並運行時,我收到了一個完全不同的模型中的實體在上面的異常完全不同的數據庫!

經過很多麻煩,我終於實現了DbContext到其他兩個模型,一切運行良好。

我知道這並不一定能回答這個問題,但我想在此留給任何其他人有同樣的問題,並在這篇文章中發現。

+0

這對我有用。謝謝! – 2013-05-09 21:23:06

相關問題