문제

(중대한 노력을 기울인 후) OS X의 최신 모노 빌드와 함께 DBLINQ를 얻었습니다.

DBLINQ/SQLITE를 통해 성공적인 사람이 데이터베이스 엔티티를 만든 사람이 있습니까?

예를 들어 다음 표가 있습니다.

CREATE TABLE UserType (
    id integer primary key,
    description text )

내 *.cs 파일을 생성했으며 다음 코드를 사용하여 새 userType 항목을 작성하려고 시도합니다.

UserType newUserType = new UserType();
newUserType.id = null // Attempting to get SQLite to increment
newUserType.description = "Administrator";

db.UserType.InsertOnSubmit(newUserType);

db.SubmitChanges();

Submitchanges에 대한 호출은 유효하지 않은 구문에 대한 예외를 던지고 있습니다. 특별히 @와 관련 (삽입물을 수행하기 위해 매개 변수화 된 쿼리로 추측하고 있습니다). 생성되는 코드가 SQL Server 특정 인 것 같습니다. 누락 된 수정 또는 플래그가 있습니까? 또는 DBLINQ를 통해 SQLITE를 통해 SQLITE를 지원하지 않는 레코드를 삽입하고 있습니까?

도움이 되었습니까?

해결책

DBLINQ를 사용할 때는 DB 연결 문자열을 수정하여 Mono의 System.Data.linq는 SQL 코드를 생성 할 때 어떤 DB 제공자를 사용할 것인지 알고 있습니다.

오래된:

SqliteConnection("Data Source=MyDatabase.sqlite");

새로운:

SqliteConnection("DbLinqProvider=Sqlite;Data Source=MyDatabase.sqlite");

그렇게 간단합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top