SQLite를 사용할 수있는 LINQPad 용 IQ 연결 플러그인에는 "누락 된 경우 데이터베이스 만들기"확인란이 있지만 빈 파일 만 생성합니다. 파일이 없을 때 자동으로 테이블을 빌드 할 수 있습니까?LINQPad는 C# 쿼리에서 sqlite 데이터베이스를 만듭니다.
DataContext를 가져 와서 해당 인터페이스를 사용하여 테이블을 만드는 방법이 없어야합니까? 바라기를 LINQPad가 동시에 DataContext를 업데이트하게합니다.
내가 할 수 있었던 최선의 일은 아래에있다. DbCommands를 만들고 sqlite 파일을 삭제 한 후 처음 실행할 때 데이터베이스를 새로 고쳐 다시 실행해야한다.
void Main()
{
if (!File.Exists(this.Connection.ConnectionString.Split('=')[1]))
{
"CREATING DATABASE TABLES".Dump();
CREATE_TABLES();
}
else
{
"RUNNING CODE".Dump();
//Code goes here...
}
}
public void CREATE_TABLES()
{
this.Connection.Open();
System.Data.Common.DbCommand sup = this.Connection.CreateCommand();
sup.CommandText = @"create table MainTable
(
MainTableID INTEGER not null PRIMARY KEY AUTOINCREMENT,
FileName nvarchar(500) not null
)";
sup.ExecuteNonQuery();
sup.CommandText = @"create table SubTable
(
SubTableID int not null,
MainTableID int not null,
Count int not null,
primary key (SubTableID, MainTableID),
FOREIGN KEY(MainTableID) REFERENCES MainTable(MainTableID)
)";
//Apparently this version of sqlite doesn't support foreign keys really
sup.ExecuteNonQuery();
this.Connection.Close();
}
가 나는 모든 것이 하나 개의 .linq 파일로 결합 할 수 있다고 기대했다 :) 적절한 쿼리 언어로 쿼리를 시작할 수없는 것 sqlite 데이터베이스가 존재하지 않을 때마다 수정이 필요합니다. 그러나 나는 거기에 많이 묻는 것을 알고있다 :) – Thymine