我正在调查使用 ORM 来访问我们的 DataVault。到目前为止,PetaPoco 看起来最有前途,但我并不局限于那个。
我们识别的大多数对象都嵌入在 Hub 和 Sat 的组合中,其中 Hub 包含 BusinessKey,Sat 包含附加信息。在 poco 中,它看起来像这样(简化):
// hub: H_Client
// sat: HS_Client
class Client
{
public string ClientId_BK { get; set; } // BusinessKey in the Hub
public long H_Client_SeqId { get; set; } // PK/Identity in Hub, FK in the Sat
public string? Address { get; set; } // additional attr. in the Sat
public string? Phone { get; set; } // additional attr. in the Sat
/* and a lot more attributes */
}
因此,每当我们谈论客户时,它总是涉及到集线器与其周六的结合。通常,ORM 一次连接一个表,但这对于数据保险库不是很有用:您总是希望使用适用的 Sat 查询或插入集线器。
是否可以从一个 poco 更新或插入多个表?