我的模型看起来像这样...如何为PetaPoco和PostgreSQL创建表/列名的大小写?
[PrimaryKey("TaskId")]
public class Task
{
public int TaskId { get; set; }
[StringLength(1000)]
[DisplayName("What do you want to do?")]
public string Description { get; set; }
[DisplayName("When do you want it done?")]
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = false)]
[DataType(DataType.Date)]
public DateTime CompleteByDate { get; set; }
public bool IsCompleted { get; set; }
public DateTime InsertDate { get; set; }
public DateTime UpdateDate { get; set; }
}
如果我试图从任务表中提取数据,我首先看到的错误之一是这样的......
ERROR: 42P01: relation "Task" does not exist
的问题,据我可以告诉的是,PetaPoco产生这样的SQL ...
SELECT "Task"."TaskId", "Task"."Description", "Task"."CompleteByDate", "Task"."IsCompleted", "Task"."InsertDate", "Task"."UpdateDate" FROM "Task"
所以,用引号,资本事项,并在数据库中列名只能在认可如果将它们放在引号中,则为小写。我想知道是否有办法改变这种情况。我目前看到的唯一的解决办法是让我的模型看起来就像这样(注意大小写变化)...
[PrimaryKey("taskid")]
[TableName("task")]
public class Task
{
[Column("taskid")]
public int taskid { get; set; }
[StringLength(1000)]
[DisplayName("What do you want to do?")]
public string description { get; set; }
[DisplayName("When do you want it done?")]
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = false)]
[DataType(DataType.Date)]
public DateTime completebydate { get; set; }
public bool iscompleted { get; set; }
public DateTime insertdate { get; set; }
public DateTime updatedate { get; set; }
}
我不希望我的属性全部小写。为什么我必须这样做,这是唯一的解决办法吗?
谢谢,那就是诀窍。 – Carter