2012-10-21 52 views
1

我試圖更改實體表名稱並遇到錯誤。 我剛剛更名爲TblRecord,因爲名稱來自表名更改Edmx並出現錯誤

這裏有什麼錯誤以及如何解決它?


錯誤:

+  _innerException {"The specified table does not exist. [ Records ]"} System.Exception {System.Data.SqlServerCe.SqlCeException} 

的EDMX文件

<?xml version="1.0" encoding="utf-8"?> 
<edmx:Edmx Version="3.0" xmlns:edmx="http://schemas.microsoft.com/ado/2009/11/edmx"> 
    <!-- EF Runtime content --> 
    <edmx:Runtime> 
    <!-- SSDL content --> 
    <edmx:StorageModels> 
     <Schema Namespace="Xz.Business.Matches.Store" Alias="Self" Provider="System.Data.SqlServerCe.4.0" ProviderManifestToken="4.0" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns="http://schemas.microsoft.com/ado/2009/11/edm/ssdl"> 
     <EntityContainer Name="XzBusinessMatchesStoreContainer"> 
      <EntitySet Name="Records" EntityType="Xz.Business.Matches.Store.Records" store:Type="Tables" /> 
     </EntityContainer> 
     <EntityType Name="Records"> 
      <Key> 
      <PropertyRef Name="Record" /> 
      </Key> 
      <Property Name="Record" Type="nvarchar" Nullable="false" MaxLength="100" /> 
      <Property Name="Relations" Type="nvarchar" MaxLength="450" /> 
     </EntityType> 
     </Schema> 
    </edmx:StorageModels> 
    <!-- CSDL content --> 
    <edmx:ConceptualModels> 
     <Schema Namespace="Xz.Business.Matches" Alias="Self" p1:UseStrongSpatialTypes="false" xmlns:annotation="http://schemas.microsoft.com/ado/2009/02/edm/annotation" xmlns:p1="http://schemas.microsoft.com/ado/2009/02/edm/annotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm"> 
     <EntityContainer Name="RecordzEntities" p1:LazyLoadingEnabled="true"> 
      <EntitySet Name="Records" EntityType="Xz.Business.Matches.TblRecord" /> 
     </EntityContainer> 
     <EntityType Name="TblRecord"> 
      <Key> 
      <PropertyRef Name="Record" /> 
      </Key> 
      <Property Name="Record" Type="String" Nullable="false" MaxLength="100" Unicode="true" FixedLength="false" /> 
      <Property Name="Relations" Type="String" MaxLength="450" Unicode="true" FixedLength="false" /> 
     </EntityType> 
     </Schema> 
    </edmx:ConceptualModels> 
    <!-- C-S mapping content --> 
    <edmx:Mappings> 
     <Mapping Space="C-S" xmlns="http://schemas.microsoft.com/ado/2009/11/mapping/cs"> 
     <EntityContainerMapping StorageEntityContainer="XzBusinessMatchesStoreContainer" CdmEntityContainer="RecordzEntities"> 
      <EntitySetMapping Name="Records"> 
      <EntityTypeMapping TypeName="Xz.Business.Matches.TblRecord"> 
       <MappingFragment StoreEntitySet="Records"> 
       <ScalarProperty Name="Record" ColumnName="Record" /> 
       <ScalarProperty Name="Relations" ColumnName="Relations" /> 
       </MappingFragment> 
      </EntityTypeMapping> 
      </EntitySetMapping> 
     </EntityContainerMapping> 
     </Mapping> 
    </edmx:Mappings> 
    </edmx:Runtime> 
    <!-- EF Designer content (DO NOT EDIT MANUALLY BELOW HERE) --> 
    <Designer xmlns="http://schemas.microsoft.com/ado/2009/11/edmx"> 
    <Connection> 
     <DesignerInfoPropertySet> 
     <DesignerProperty Name="MetadataArtifactProcessing" Value="EmbedInOutputAssembly" /> 
     </DesignerInfoPropertySet> 
    </Connection> 
    <Options> 
     <DesignerInfoPropertySet> 
     <DesignerProperty Name="ValidateOnBuild" Value="true" /> 
     <DesignerProperty Name="EnablePluralization" Value="True" /> 
     <DesignerProperty Name="IncludeForeignKeysInModel" Value="True" /> 
     <DesignerProperty Name="CodeGenerationStrategy" Value="None" /> 
     </DesignerInfoPropertySet> 
    </Options> 
    <!-- Diagram content (shape and connector positions) --> 
    <Diagrams></Diagrams> 
    </Designer> 
</edmx:Edmx> 

這是EF5 & VS12

+0

撤銷您的更改並使用edmx設計器進行更改。 –

+0

這對於撤消有點遲,儘管從頭開始生成所有內容都沒有問題。但想更多地瞭解細節並手動編輯一些像我所提到的內容。 – LastBye

+0

您是否重命名數據庫中的表?您從數據庫中拋出異常(System.Data.SqlServerCe.SqlCeException)。它使我認爲你的edmx可能是正確的,因爲EF沒有窒息它,但數據庫沒有記錄表。 – Pawel

回答

0

如果您更名爲數據庫中的表格,則需要更新EDMX中的映射。錯誤信息是自我描述。

如果不能從EDMX設計器中刪除模型TblRecord,並重新添加新名稱Record

+0

請提供正確的線路,我應該進行更改 – LastBye

+0

似乎沒有以正確的方式重命名它,我使用VS的替換窗口。所以現在想知道哪個部分重命名,不應該重命名。 – LastBye

+0

也不知道何時添加模型如何定義名稱,如你所說。這裏模型的名字是xModel,它是如何與這些TblRecord和記錄相關的? – LastBye