PetaPoco/NPoco - расчетные свойства в poco

Я использую PetaPoco/NPoco в своем проекте. Схема базы данных, с которой я работаю, не считалась нашей очень хорошей, и поэтому я не могу напрямую связать POCO с моим представлением wpf mvvm (что я имел обыкновение делать, когда я также создавал схему базы данных). Я рассматриваю два возможных решения этой проблемы:

  1. Добавить несопоставленные свойства в POCO
  2. Создайте обёртку для pocos со ссылкой на poco

Существует ли проверенная модель для этой проблемы?

1 ответ

Решение

Вы можете управлять картами PetaPoco по своему усмотрению, используя ExplicitColumns для сопоставления с другим именем столбца. Вы также можете использовать ResultColumn для свойств, которые вы хотите получить из БД для не обновления / вставки. Наконец, вы также можете использовать несопоставленные свойства для дополнительной работы, не связанной с БД.

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; }

        ....
Другие вопросы по тегам