2010-10-28 50 views
0

我似乎無法跨項目拆分命名空間。跨項目拆分命名空間

我有一個DatabaseAccess項目,其中有一個名爲SCS(某些瘋狂系統)的文件夾,它爲SCS數據庫提供數據訪問。現在這個SCS有實體框架(.edmx)生成的實體。我想在我的BusinessModel項目中擴展這些實體。不過,我似乎無法這樣做。下面是我的例子。我創建一個部分類,並創建具有相同名稱的命名空間在我的實際DatabaseAccess項目的命名空間:

namespace DatabaseAccess.SCS{ 
    public partial SomeEntity{ 
     public void DoSomething(){ 
      var x = this.GeneratedField; 
     } 
    } 
} 

做上述不起作用。它抱怨GeneratedField不是SomeEntity類的一部分,儘管它是。如果我彈出打開edmx的SCS.Designer,SomeEntity確實有一個GeneratedField的定義,SomeEntity是DatabaseAccess.SCS命名空間的一部分。是什麼賦予了?

回答

1

你不只是分割在多個項目中出現的命名空間,但該類了。我懷疑這是可能的,因爲通常構建這樣的對象通常是非常困難的,因爲每個對象通常對...有很強的依賴關係......本身! (擴展方法雖然可以提供類似的功能 - 雖然我不建議過度使用他們同樣沒有文檔。)

你爲什麼不只是有部分在同一項目作爲它的其他部分?

+0

你是對的。我已決定將這個部分放在同一個項目中。它在結構上也更好。 – Riz 2010-10-29 17:27:44

0

如果局部類不在同一個項目,你必須添加一個引用從其他項目建設大會。否則,爲了擴展它,本地項目還不知道該類。