佩塔波科 Insert/Update

PetaPoco Insert/Update

我有一个包含以下字段的 table。我无法更新 table 中的现有值。我想根据不是主键的 SourceId 更新它(Id 是主键)。下面是 class 表示。

我不想修改 PetaPoco.cs 文件。请帮忙。谢谢。

[TableName("Incident")]
[PrimaryKey("Id", AutoIncrement = true)]
public class Incident
{
    public int Id { get; set; }
    public string SourceId { get; set; }
    public int AgencyId { get; set; }
    public DateTime? OccurredOn { get; set; }
    public DateTime? ImportedOn { get; set; }
    public DateTime? LastUpdatedOn { get; set; }
}

您可以select 使用 SourceID 记录然后更新它。
示例:

var rec = db.FirstOrDefault<Incident>("WHERE SourceID = @0", SourceID);
rec.AgencyId = NewValueForAgencyId;
db.Update(rec);