Я пишу небольшую программу для тестирования linq2db.Я хочу создать базу данных, если она еще не существует.Большая часть (все?) Документации linq2db предполагает наличие существующей базы данных.Я проверяю, существует ли база данных, и если нет, создайте пустую базу данных с помощью CreateCommand, как показано ниже.Intellisense для этого говорит, что этот метод «Только для внутреннего использования».Можно ли использовать CreateCommand или есть лучший способ?
namespace SqliteTest
{
public partial class ImageDatabaseDB : LinqToDB.Data.DataConnection
{
public ITable<testTable> testTables { get { return this.GetTable<testTable>(); } }
public void InitMappingSchema()
{
}
public ImageDatabaseDB()
{
InitDataContext();
InitMappingSchema();
}
public ImageDatabaseDB(string configuration) : base(configuration)
{
InitDataContext();
InitMappingSchema();
}
partial void InitDataContext();
}
[Table("testTable")]
public partial class testTable
{
[PrimaryKey, Identity] public int id;
[Column, NotNull] public string Name;
[Column, Nullable] public string Description;
}
public static partial class TableExtensions
{
public static testTable Find(this ITable<testTable> table, long id)
{
return table.FirstOrDefault(t =>
t.id == id);
}
}
class Program
{
static void Main(string[] args)
{
const string dbLocation = @".\TestDatabase\TestDatabase.sqlite";
if (!File.Exists(dbLocation))
{
using (var db = new TestDatabaseDB())
{
db.CreateCommand();
// create tables...
}
}
}