2014-07-18 175 views
1

我想添加新的模塊(項目)到我的解決方案,並首先使用實體​​框架代碼只爲我的數據庫表的最低。我在其他模塊中使用帶有存儲過程的ADO.NET。我計劃將來從db中拆分表,但現在這是不可能的(表與其他表沒有關係,但被舊模塊使用)我不確定這樣做是否是好的做法,我想請求幫助。實體框架代碼首先爲數據庫表的子集

  • 是否有可能使用EF代碼首先爲我的數據庫的表的子集?
  • 如何用代碼首先初始化這些表?如果模型不匹配並重新創建新的數據庫,我發現只有解決方案會丟棄整個 db。我需要刪除並重新創建只有 表在我的項目中使用
  • 是不是很好的做法,使用更多的方法的數據庫訪問一個數據庫?
  • 你看到這種方法有些問題嗎?現在我看到問題與協調性和數據一致性(如果舊模塊將以另一種方式與此表一起運行)

謝謝。

回答

2

1)是的。在我們的一個項目中,我們有數據庫和我們遷移使用EF的存儲過程。但不是一次。它花了一些時間,所以我們一起使用了Store procedures whit ADO.NET和EF。

2)我必須說我不確定這一點。我們已經創建了數據庫,只有很少的變化。但是你可以自己創建表格。

3)我認爲更好的是從EF調用存儲過程,並在整個項目中使用它,如果你需要它們。但是同時使用,ADO.NET和EF是好的,如果你有理由的話。

4)爲什麼這會是問題,如果你會使用交易?

+0

謝謝你的回答。您可能使用數據庫優先方法。我想先轉換成代碼。問題是我看到的是上下文同步。如果你已經有一些EF緩存數據的上下文,並且你通過ADO.NET方法改變了某些東西,那麼上下文並不是最新的,而且我看起來像是問題。 –

+1

否否。我們先用現有的數據庫代碼。自EF 6.1/6.2不知道以來,這是新的。我仍然認爲,如果您將使用具有必要的隔離級別的交易,它可能會運作良好。但也許會導致性能問題。 –

+0

謝謝你的回答。你真的幫了我! –