简体   繁体   English

PetaPoco / NPoco-Poco中的计算属性

[英]PetaPoco/NPoco - calculated properties in poco

I am using PetaPoco/NPoco in my project. 我在我的项目中使用PetaPoco / NPoco。 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). 我正在使用的数据库架构并不十分理想,因此无法将POCO直接绑定到wpf mvvm视图(这也是我在创建数据库架构时曾经能够执行的操作)。 I am considering two possible solutions to this problem: 我正在考虑针对此问题的两种可能的解决方案:

  1. Add unmapped properties to the POCO 将未映射的属性添加到POCO
  2. Create a wrapper for the pocos with a reference to the poco 为pocos创建一个包装,并引用poco

Does a proven pattern exist for this problem? 是否存在针对该问题的可靠模式?

You can manipulate the PetaPoco maps as you wish using ExplicitColumns to map to a different named column. 您可以根据需要使用ExplicitColumns来操作PetaPoco映射,以映射到其他命名列。 You can also use ResultColumn for properties that you wish to grab from the DB for not update/insert. 您也可以将ResultColumn用于希望从数据库中获取的属性,以便不进行更新/插入。 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; }

        ....

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM