"NPGSQL 및 Visual Studio 2013 EntityFramework에서는"업데이트 모델 "마법사가 작동하지 않습니다.
-
21-12-2019 - |
문제
현재 Visual Studio 2012, EF 5.0 및 NPGSQL 2.0.12.0을 사용합니다
Visual Studio 2013 및 NPGSQL 2.0.14.3로 업그레이드하고 싶습니다 (이제 EF 5.0이 괜찮습니다).
현재 스키마에서 변경 사항을 변경하고 VS 디자이너에서 볼 수있는 EDMX 파일로 피드백하는 "업데이트 모델"마법사를 사용합니다. NPGSQL.Provider2에서 DDEX를 사용하고 "실험적"Visual Studio 인스턴스를 시작하는 어색한 절차를 따르면이 작업을 수행합니다.
그러나 이것은 더 이상 Visual Studio 2013에서 작동하지 않습니다 (생성 된 레지스트리 항목을 업데이트 한 후). 또한 dbprovider를 machine.config에서 npgsql 2.0.14.3으로 변경하면 작동하지 않습니다.
누군가가 이것이 일하기 위해 이것이 나에게 말할 수 있다면 그것은 탁월합니다.
임시 대안으로 edmgen.exe를 사용하여 스키마에서 EDMX 파일을 업데이트하는 것을 고려하고 있습니다. 지금까지는 .csdl, .ssdl 및 .mdl 파일을 생성 할 수 있었지만, 모든 것을 .edmx 파일로 패키지화 할 수있는 방법을 찾을 수 없습니다. 누군가이 접근법을 시도 했습니까?
해결책
EF 디자이너는 DDEX 공급자가 필요할 수 있습니다.원래 DDEX 공급자가 VS2012의 실험 버전에만 설치된 것처럼 보입니다.VS2013을 설치하면 DDEX 공급자의 레지스트리 키가 없으며 EF 디자이너는 데이터베이스에서 작동 할 수 없습니다.
EDMX는 CSDL MSL 및 SSDL을 함께 사용할 수 있습니다.v3 스키마를 사용하고 있다고 가정 (즉, csdl이 네임 스페이스에 있습니다 : xmlns="http://schemas.microsoft.com/ado/2009/11/edm"
)이 템플릿에있는 파일의 내용을 붙여 넣을 수 있습니다 (파일 붙여야 할 파일을 추가 해야하는 댓글을 추가) :
<?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>
<!-- paste SSDL contents here -->
</edmx:StorageModels>
<!-- CSDL content -->
<edmx:ConceptualModels>
<!-- paste CSDL contents here -->
</edmx:ConceptualModels>
<!-- C-S mapping content -->
<edmx:Mappings>
<!-- paste MSL contents here -->
</edmx:Mappings>
</edmx:Runtime>
<!-- EF Designer content (DO NOT EDIT MANUALLY BELOW HERE) -->
<edmx:Designer xmlns="http://schemas.microsoft.com/ado/2009/11/edmx">
<edmx:Connection>
<DesignerInfoPropertySet>
<DesignerProperty Name="MetadataArtifactProcessing" Value="EmbedInOutputAssembly" />
</DesignerInfoPropertySet>
</edmx:Connection>
<edmx:Options>
<DesignerInfoPropertySet>
<DesignerProperty Name="ValidateOnBuild" Value="true" />
<DesignerProperty Name="EnablePluralization" Value="True" />
<DesignerProperty Name="CodeGenerationStrategy" Value="None" />
</DesignerInfoPropertySet>
</edmx:Options>
<!-- Diagram content (shape and connector positions) -->
<edmx:Diagrams>
</edmx:Diagrams>
</edmx:Designer>
</edmx:Edmx>
.