2012-10-31 41 views
0

我修改了架構(將字段設置爲非空),但是當我嘗試重新創建ADO.NET映射時,我只能看到舊架構。重置ADO.NET架構

的.edmx文件看起來是這樣的:

 <EntityType Name="STG_DW_BUF_CODE_D"> 
      <Key> 
      <PropertyRef Name="BUF_CODE_KEY" /> 
      </Key> 
      <Property Name="BUF_CODE_KEY" Type="number" Nullable="false" /> 

… 
     <EntityType Name="STG_DW_REGION_D"> 
     <Property Name="REGION_KEY" Type="number" /> 

的STG_DW_REGION_D視圖應該具有可空=「假」喜歡它上面的觀點。

我可以通過另一個SQL應用程序確認新模式具有不可空的該字段,但我無法獲得ADO.NET的注意。

我試圖擦除模型並重新創建它。我試圖關閉視覺工作室並重新啓動它。它仍然看到舊的模式。

有誰知道如何重置它?有什麼建議麼?

+0

目前還不清楚你在做什麼。你在使用ModelFirst還是DatabaseFirst?當你說「我修改了一個模式」 - 你修改了什麼模式?你如何修改它?你使用的是哪個數據庫?你在「無法獲得ADO.NET注意」片段中提到「ADO.NET」是什麼? – Pawel

+0

@Pawel:Oracle變種的DatabaseFirst。我設置了一個不可空的字段,所以Linq會把它作爲PK。我指的是ADO.NET,因爲當我從數據庫創建ADO.NET對象時,它會嘗試在沒有更改的類中建模關係。 – micahhoover

回答

0

這是ADO.NET或ODP(Oracle與Linq的連接)中的一個錯誤。如果添加一個字段,它將刪除緩存的模式,並使用更新的字段屬性引入一個新模式。