Model PetaPoco看不到类属性

Model PetaPoco看不到类属性,model,attributes,petapoco,Model,Attributes,Petapoco,出于某种原因,当我为tablename和主键PetaPoco在Poco类上设置属性时,PetaPoco没有看到它们,并且默认为ID autoIncrement=false [TableName("MyTableName")] [PrimaryKey("Id", autoIncrement = true)] public class MyClass { public int Id { get; set; } public string Description { get; set;

出于某种原因,当我为tablename和主键PetaPoco在Poco类上设置属性时,PetaPoco没有看到它们,并且默认为ID autoIncrement=false

[TableName("MyTableName")]
[PrimaryKey("Id", autoIncrement = true)]
public class MyClass
{
    public int Id { get; set; }
    public string Description { get; set; }
}
当我调用Insert()方法时,这会失败。 如果调用insert方法并显式传递表名、主键列和autoincrement,那么它就工作了

知道Peta Poco为什么没有看到这些属性吗


我使用的是C#VS 2012,目标是4.5框架

尝试更改数据注释,如下所示:

[DotNetNuke.ComponentModel.DataAnnotations.TableName("MyTableName")]
[DotNetNuke.ComponentModel.DataAnnotations.PrimaryKey("Id", AutoIncrement = true)]
public class MyClass
{
    public int Id { get; set; }
    public string Description { get; set; }
}
测试一下,看看这是否适合你。我认为在你可能从NuGet下载的t4模板中没有看到它们,在DNN核心的DataUtil.cs中,会有using-PetaPoco引用,我相信它正在寻找DNN注释。不确定这是否是一个bug,或者是出于设计,但我自己也看到了这一点,并想知道是否只有DNN PetaPoco应该有t4模板

我不确定AutoIncrement是否设置为false,但请注意,我将其设置为大写的“A”


希望这能有所帮助,我会继续关注下一个版本,我在7.0.5上测试了这个版本,看看他们是否只为DNN PetaPoco更新了这个或发布了t4模板。

尝试将PrimaryKeyColumn属性添加到Id属性中,如下所示

[TableName("MyTableName")]
[PrimaryKey("Id", autoIncrement = true)]
public class MyClass
{
    [PrimaryKeyColumn(AutoIncrement=true)]
    public int Id { get; set; }

    public string Description { get; set; }
}