Pregunta

I am using PetaPoco/NPoco in my project. The database schema I am working with was not thought our very well and therefore I can't directly bind the POCO to my wpf mvvm view (which is what I used to be able to do when I was also creating the database schema). I am considering two possible solutions to this problem:

  1. Add unmapped properties to the POCO
  2. Create a wrapper for the pocos with a reference to the poco

Does a proven pattern exist for this problem?

¿Fue útil?

Solución

You can manipulate the PetaPoco maps as you wish using ExplicitColumns to map to a different named column. You can also use ResultColumn for properties that you wish to grab from the DB for not update/insert. Finally, you can also use unmapped properties for extra work not related to the 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; }

        ....
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top