Npsql
및 Npsql.EntityFramework
패키지를 사용하여 Entity Framework가있는 PostgreSQL 데이터베이스에 매핑하려고합니다. 내가 대중에게 스키마를지도 데이터베이스 컨텍스트에서Column Extent1.Id가 Entity Framework 6 및 PostgreSQL과 함께 Mono에 존재하지 않습니다.
public class Crop
{
public int Id { get; set; }
public string Name { get; set; }
public Month SowingMonths { get; set;} //Month is an enum
}
모든 테이블은 기본적으로 스키마 공개에 있기 때문에 다음과 같이
CREATE TABLE IF NOT EXISTS Crops (
Id INT PRIMARY KEY NOT NULL,
Name TEXT NOT NULL,
SowingMonths INT
);
Crop
모델 보이는 : 나는 다음과 같은 테이블이있는 데이터베이스를 PostgreSQL.
Npgsql.NpgsqlException
ERROR: 42703: column Extent1.Id does not exist
Description: HTTP 500.Error processing request.
Details: Non-web exception. Exception origin (name of application or object): Npgsql.
Exception stack trace:
at Npgsql.NpgsqlState+d__0.MoveNext() [0x00000] in :0 at Npgsql.ForwardsOnlyDataReader.GetNextResponseObject (Boolean cleanup) [0x00000] in :0
좋은 소식은 테이블을 찾을 수있는 데이터베이스 (이 not 수 처음에는 지금 : 나는 DbContext의 작물에 액세스하려고 뷰를 열 때
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.HasDefaultSchema("public");
}
는 지금은이 메시지 , OnModelCreating
메소드의 공개 스키마에 매핑 할 수 있습니다). 그러나 열 이름 Extend.Id
을 찾을 수 없습니다.
Extend.Id
을 찾으려하는 이유가 저를 뛰어 넘습니다. Crops
모델의 속성을 Id
으로 정의한 이유는 Extend.Id
입니다. 그러나 이것이 사실이라고 생각하면, 어떻게 이것을 작동시킬 수 있습니까? Id
대신에 Extend1.Id
속성을 사용하여 데이터베이스 테이블을 만들 수 있습니까? 그렇다면 어떻게해야합니까?
감사합니다.
마스터 영웅 감사합니다. 이것은 사실이었다. 열 이름을 대문자로 변경 한 후 문제가 해결되었습니다! 감사합니다. 감사합니다. 추신 : [Extent1]이 무엇인지 말해 주실 수 있겠습니까? –