약 600 개의 테이블이있는 테이블에서 PetaPoco를 사용하려고하지만 소수의 테이블 만 매핑하려고합니다.매핑 된 테이블을 PetaPoco에 명시 적으로 포함하는 방법
매핑을 원하는 테이블을 명시 적으로 지정하는 방법이 있습니까? t4 템플릿의 설정 (tables["tablename"].Ignore = true
)은이 방법으로 확장되지 않습니다.
약 600 개의 테이블이있는 테이블에서 PetaPoco를 사용하려고하지만 소수의 테이블 만 매핑하려고합니다.매핑 된 테이블을 PetaPoco에 명시 적으로 포함하는 방법
매핑을 원하는 테이블을 명시 적으로 지정하는 방법이 있습니까? t4 템플릿의 설정 (tables["tablename"].Ignore = true
)은이 방법으로 확장되지 않습니다.
내가 이런 식으로 일을 결국 :
var tablesToLoad= new string[] {
"TableOne",
"TableTwo",
"ViewOne",
"Etc" };
var tables = LoadTables();
foreach(var t in tables)
{
if(!tablesToLoad.Contains(t.Name))
{
t.Ignore = true;
}
}
내가했던 일을, 나는 새로운 데이터베이스 사용자를 만든 만 내가 필요로하는 테이블에 액세스 할 수있었습니다.
그런 다음 데이터베이스 사용자와 T4 템플릿을 연결하고 PetaPoco는 필요한 테이블 만 보았습니다.
이 할당을 무시 가득 T4 템플릿을 피하기 위해 유사한
Tables tables = LoadTables();
foreach(Table t in tables)
{
if(!t.Name.Contains("all_user_group"))
{
t.Ignore = true;
}
}
때로는 사용자 환경에 대한 수준의 제어 권한이 없습니다. 테이블을 무시하고 싶은 정당한 이유가 많이 있습니다. –
@ Clay - 그건 사실입니다. 그러나 옵션이 존재하면 T4 템플릿을보다 깨끗하게 유지하고 디버깅을 쉽게합니다. – Jason