2013-08-20 5 views
1

프로젝트에서 PetaPoco/NPoco를 사용하고 있습니다. 내가 작업하고있는 데이터베이스 스키마는 우리의 생각이별로 좋지 않아 POCO를 wpf mvvm 뷰에 직접 바인드 할 수 없다. (데이터베이스 스키마를 생성 할 때 사용했던 것). 나는이 문제에 대한 두 가지 가능한 솔루션을 고려하고 : PetaPoco/NPoco - 계산 된 속성 in poco

  1. 는 POCO
  2. 에 매핑되지 않은 속성을 추가

이에 대한 검증 된 패턴이 존재 않음 마시고에 대한 참조를 사용하여 포항 강판의 래퍼 만들기 문제?

답변

2

ExplicitColumns을 사용하여 원하는대로 PetaPoco 맵을 조작하여 다른 이름이 지정된 열에 매핑 할 수 있습니다. 업데이트/삽입하지 않기 위해 DB에서 가져 오려는 속성에 ResultColumn을 사용할 수도 있습니다. 마지막으로 DB와 관련이없는 추가 작업을 위해 맵핑되지 않은 속성을 사용할 수도 있습니다.

namespace Site.Models { 
    [TableName("Hotel")] 
    [PrimaryKey("HotelID")] 
    [ExplicitColumns] 
    public class Hotel { 
     [PetaPoco.Column("HotelID")] 
     public int HotelID { get; set; } 

     [PetaPoco.Column("HotelClaseID")] 
     public int? HotelClaseID { get; set; } 

     [ResultColumn] 
     public string HotelClase { get; set; } 

     [Required] 
     [PetaPoco.Column("Nombre")]    
     public String Nombre { get; set; } 

     ....