在 PetaPoco 中,如何装饰具有多列主键的表

Posted

技术标签:

【中文标题】在 PetaPoco 中,如何装饰具有多列主键的表【英文标题】:In PetaPoco, how to decorate a table that has multi-columns primary keys 【发布时间】:2011-11-07 16:23:48 【问题描述】:

在 PetaPoco 网站上给出的示例中,这是装饰类的方法:

[PetaPoco.TableName("articles")]
[PetaPoco.PrimaryKey("article_id")]
public class article

    public long article_id  get; set; 
    public string title  get; set; 
    public DateTime date_created  get; set; 
    public bool draft  get; set; 
    public string content  get; set; 

但假设文章表被建模为有 2 列:article_id 和 title 作为其主键(而不仅仅是 article_id),那么 PetaPoco 中的装饰会是什么样子。

【问题讨论】:

【参考方案1】:

这目前只适用于我的分支,但你可以这样做。

[PetaPoco.PrimaryKey("article_id,title")]

我的分支可以在这里找到。 https://github.com/schotime/PetaPoco

【讨论】:

只是好奇这个复合键功能是否已合并回 TopTen 分支?顺便说一句,NPoco 是什么?下一个 PetaPoco? @Guy--L NPoco 是我在自己项目中的分支。不太可能复合关键的东西会回到官方的 PetaPoco,这就是为什么我把我所有的东西都搬到了一个新的项目中。 @Schotime 感谢您的分支!我遇到了一个巨大的问题,我的表具有 3 个字符串主键和 4000 多条记录,而 PetaPoco 无法使用自动生成的 T4 模板正确插入/更新。我设法修改了 T4 模板并添加了对多个字符串主键的支持,而无需做额外的工作!更新 4000 多条记录大约需要 3 分钟,结果完全不准确,现在这需要 5 秒,数据准确!我的分支可以在这里找到:github.com/mdimoudis/PetaPoco

以上是关于在 PetaPoco 中,如何装饰具有多列主键的表的主要内容,如果未能解决你的问题,请参考以下文章

具有多列主键的 Laravel 模型

如何通过多列理想地组合具有不同主键的两个表 HASH

如何在mysql中获取所有具有自动增量主键的表?

如何在具有symfony主键的表中插入值

如何在SQL Server中获取具有复合主键的表列表?

如何在没有主键的表上按顺序更新表?