1

我在我的项目中使用 PetaPoco/NPoco。我正在使用的数据库架构并不是我们认为的很好,因此我不能直接将 POCO 绑定到我的 wpf mvvm 视图(这是我在创建数据库架构时曾经能够做的事情)。我正在考虑这个问题的两种可能的解决方案:

  1. 将未映射的属性添加到 POCO
  2. 使用对 poco 的引用为 pocos 创建一个包装器

这个问题是否存在经过验证的模式?

4

1 回答 1

3

您可以根据需要操作 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; }

        ....
于 2013-08-20T13:59:19.850 回答