私のモデルはこのように見えます...
[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; }
}
Task テーブルからデータをフェッチしようとすると、最初に表示されるエラーの 1 つがこれです...
ERROR: 42P01: relation "Task" does not exist
問題は、私が知る限り、PetaPoco がこのような sql を生成することです...
SELECT "Task"."TaskId", "Task"."Description", "Task"."CompleteByDate", "Task"."IsCompleted", "Task"."InsertDate", "Task"."UpdateDate" FROM "Task"
したがって、引用符では大文字が重要であり、DB では、引用符で囲まれている場合、列名はすべて小文字でのみ認識されます。それを変更する方法があるかどうか疑問に思っています。私が現在見ている唯一の修正は、モデルを次のようにすることです(大文字と小文字の変更に注意してください)...
[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; }
}
プロパティをすべて小文字にしたくありません。なぜこれをしなければならないのですか、これが唯一の修正ですか?