using LinqToDB.AspNet.Logging;
using LinqToDB.DataProvider.SQLite;
using Microsoft.Data.Sqlite;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using System.Threading.Tasks;
public static async Task Main()
Console.WriteLine("Hello World");
SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_e_sqlite3());
using var sp = new ServiceCollection()
.AddLogging(x => x.AddConsole())
.AddSingleton(serviceProvider => {
var connection = new SqliteConnection("Data Source=dbname;Mode=Memory;Cache=Shared");
var provider = SQLiteTools.GetDataProvider();
var options = new DataOptions()
.UseConnection(provider, connection)
.UseLoggerFactory(serviceProvider.GetService<ILoggerFactory>())
return new DataConnection(options);
using var connection = sp.GetService<DataConnection>();
await connection.CreateTableAsync<TestTable>();
await connection.InsertAsync(new TestTable()
var query = connection.GetTable<TestTable>()
.Where(x => x.DecimalProp < myDecimal);
var result = await query.ToArrayAsync();
Console.WriteLine("No crash? Found " + result.Length);
public int Id { get; set; }
public decimal DecimalProp { get; set; }