首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >属性内的PetaPoco映射属性

属性内的PetaPoco映射属性
EN

Stack Overflow用户
提问于 2012-11-09 09:02:32
回答 2查看 3.1K关注 0票数 1

我是PetaPoco的新手,一开始我很喜欢它,但后来遇到了一堵墙,我根本不知道如何搜索它。我有一个对象,需要设置其属性之一的属性,即Job.Min.BaseValue。此数据的来源是"min_mb“。因此,基本上我的对象不是源表的直接映射

代码语言:javascript
复制
public class Usage
{
   public Decimal BaseValue {get;set;}
   public Decimal BaseScale {get;set;}
   public Decimal BaseUnit {get;set;} 
}

[PetaPoco.TableName("data")]
[PetaPoco.PrimaryKey("date, client_name")]
[PetaPoco.ExplicitColumns] 
public class Job
{
   [PetaPoco.Column("date")]
   public DateTime Date {get;set;}
   [PetaPoco.Column("client_name")]
   public String ClientName {get;set;}

   public Usage Min {get;set;}

   public CommvaultJob() { Min = new Usage() { BaseScale=1024, BaseUnit="MB" }; }
}
EN

回答 2

Stack Overflow用户

发布于 2012-11-10 19:41:45

我认为在调用Fetch或Query时会遗漏额外的类型。这对我很有效:

调用PetaPoco:

代码语言:javascript
复制
var allData = _db.Fetch<TestJobPoco,Usage>("select * from dataTEST");
return View( allData);

pocos:

代码语言:javascript
复制
[PetaPoco.ExplicitColumns]
public class Usage
{
   public Usage()
   {
       BaseScale=1024;
       BaseUnit="MB";
   }

   [PetaPoco.Column("base_value")]
   public Decimal BaseValue {get;set;}

   [PetaPoco.Ignore]
   public Decimal BaseScale {get;set;}

   [PetaPoco.Ignore]
   public string BaseUnit {get;set;} 
}

[PetaPoco.TableName("dataTEST")]
[PetaPoco.PrimaryKey("id")]
[PetaPoco.ExplicitColumns]
public class TestJobPoco
{
   [PetaPoco.Column("id")]
   public int Id {get;set;}

   [PetaPoco.Column("date")]
   public DateTime Date {get;set;}

   [PetaPoco.Column("client_name")]
   public String ClientName {get;set;}

   public Usage Min {get;set;}

    public TestJobPoco()
    {
        //Min = new Usage() { BaseScale=1024, BaseUnit="MB" };
    }
}

我的测试数据库有一个id、date、client_name和base_value列。主键是id,所以它与您的略有不同,但这不应该改变poco映射发生的方式。

票数 1
EN

Stack Overflow用户

发布于 2012-11-09 10:32:04

如果您的对象没有映射到表结构,ORM就不能提供太多帮助。

您将需要手动进行映射或创建新的影子属性来复制其他字段的值,但这种增加的复杂性将违背ORM的目的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13300614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档