POCO 엔티티 생성기를 실행할 때 "기본 '네임 스페이스로 스키마가 없습니다"라는 오류가 발생합니다 다른 CSDL 파일에서 네임 스페이스를 가져 오는 CSDL 파일다른 CSDL 파일에서 네임 스페이스를 가져 오는 CSDL 파일로 POCO 엔티티 생성기를 실행할 때 '기본'네임 스페이스와 스키마가 없습니다.
두 CSDL 파일이 모두 프로젝트 폴더 외부의 다른 폴더로 이동되었습니다. 왜냐하면 "Base"CSDL 파일에서 네임 스페이스를 가져 오기 위해 Administracion.csdl 파일을 편집해야했기 때문입니다.
은 "Administracion.csdl"파일은 다음과 같습니다
<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="Administracion" 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">
<Using Namespace="Base" Alias="Base" />
<EntityContainer Name="AdministracionEntities" p1:LazyLoadingEnabled="true">
<EntitySet Name="adm_accesoxperfil" EntityType="Administracion.adm_accesoxperfil" />
<EntitySet Name="adm_accesoxusuario" EntityType="Administracion.adm_accesoxusuario" />
<EntitySet Name="adm_accionxnivelseguridadxusuario" EntityType="Administracion.adm_accionxnivelseguridadxusuario" />
<EntitySet Name="adm_alarmaxperiodopresupuesto" EntityType="Administracion.adm_alarmaxperiodopresupuesto" />
<EntitySet Name="adm_categoriapredefinidaxbanner" EntityType="Administracion.adm_categoriapredefinidaxbanner" />
<EntitySet Name="adm_configuraciondetallepresupuesto" EntityType="Administracion.adm_configuraciondetallepresupuesto" />
<EntitySet Name="adm_configuracionperiodopresupuesto" EntityType="Administracion.adm_configuracionperiodopresupuesto" />
<EntitySet Name="adm_confirmacionseguridadoperacion" EntityType="Administracion.adm_confirmacionseguridadoperacion" />
<EntitySet Name="adm_cuenta" EntityType="Base.adm_cuenta" />
<EntitySet Name="adm_cuentaxmetafinanciera" EntityType="Administracion.adm_cuentaxmetafinanciera" />
은 내가 대신 프로젝트 폴더에 EDMX 파일을 읽는 편집 한 CSDL 파일을 읽을 수있는 POCO 엔터티 생성기 템플릿을 편집했다.
템플릿의 코드는 다음과 같습니다
Error 1 Running transformation: System.Data.MetadataException: Schema specified is not valid. Errors:
Administracion.csdl(3,4) : error 0160: No schema encountered with 'Base' namespace. Make sure the namespace is correct or the schema defining the namespace is specified.
Administracion.csdl(13,6) : error 0034: Unknown namespace or alias (Base).
내가 잘못 뭐하는 거지 :
string csdl = @"path\Administracion.csdl";
var ItemCollection = new EdmItemCollection(csdl);
나는 다음과 같은 오류를 받고 있어요 템플릿을 실행하는 경우? CSDL 파일이 다른 폴더에 있기 때문입니까? 나는 그들을 어디에 두어야합니까? POCO 엔티티 생성기 템플릿이 CSDL 파일에서 네임 스페이스를 가져올 때 처리 할 수 있습니까?
감사합니다 아리엘이, 당신의 의견은이 문제에 대한 해결책을 찾는 데 유용했다. – razp26