PetaPoco/NPoco - расчетные свойства в poco
Я использую PetaPoco/NPoco в своем проекте. Схема базы данных, с которой я работаю, не считалась нашей очень хорошей, и поэтому я не могу напрямую связать POCO с моим представлением wpf mvvm (что я имел обыкновение делать, когда я также создавал схему базы данных). Я рассматриваю два возможных решения этой проблемы:
- Добавить несопоставленные свойства в POCO
- Создайте обёртку для 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; }
....