簡體   English   中英

如何使用NPoco在同一個表中保存嵌套對象?

[英]How can save in the same table a nested object using NPoco?

我有一個這樣的課:

public class AuthEntity 
{
  public int Id { get; set; }

  public AuthResource Resource { get; set; }

  public int ActionId { get; set; }
}

AuthResource在哪里:

public class AuthResource 
{
  public long ResourceId { get; private set; }

  public int ResourceType { get; private set; }
}

存儲數據的表具有以下字段:

  • ID
  • RESOURCEID
  • 的ResourceType
  • ActionId

我可以很好地閱讀AuthEntity(包括Resource屬性),但我不知道如何插入AuthEntity記錄。 NPoco說沒有資源字段。 如何將嵌套對象字段映射到表字段?

謝謝

NPoco文檔說您可以使用映射到嵌套對象來執行此操作。

db.Fetch<AuthEntity, AuthResource>("select query to db")

您還必須將AuthResource更改為

public class AuthResource
{
     public long ResourceId { get; set; }
     public int ResourceType { get; set; }
}

您的表結構表明ResourceId和ResourceType是AuthEntity的成員,並且不是單獨的類。 如果你想將AuthResource作為一個單獨的類,你可以讓AuthEntity從AuthResource繼承,例如

public class AuthResource
{
     public long ResourceId { get; private set; }
     public int ResourceType { get; private set; }
}

public class AuthEntity : AuthResource
{
    public int Id { get; set; }   
    public int ActionId { get; set; }
}

通過這種方式,AuthEntity將包含您希望它擁有的ResourceId和ResourceType值,並且AuthResource可以重用於實現相同結構的其他類,在我看來,這是您正在尋找的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM