Skip to content

Instantly share code, notes, and snippets.

@gistlyn
Last active January 31, 2022 06:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gistlyn/d92b05d772ffebbcf89f393112f8c013 to your computer and use it in GitHub Desktop.
Save gistlyn/d92b05d772ffebbcf89f393112f8c013 to your computer and use it in GitHub Desktop.
Use OrmLite with Firebird
dotnet add package ServiceStack.OrmLite.Firebird
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using ServiceStack;
using ServiceStack.Data;
using ServiceStack.DataAnnotations;
using ServiceStack.OrmLite;
[assembly: HostingStartup(typeof(MyApp.ConfigureDb))]
namespace MyApp
{
// Example Data Model
// public class MyTable
// {
// [AutoIncrement]
// public int Id { get; set; }
// public string Name { get; set; }
// }
public class ConfigureDb : IHostingStartup
{
public void Configure(IWebHostBuilder builder) => builder
.ConfigureServices((context, services) => {
services.AddSingleton<IDbConnectionFactory>(new OrmLiteConnectionFactory(
context.Configuration.GetConnectionString("DefaultConnection"),
Firebird4Dialect.Provider));
});
/* Create non-existing Table and add Seed Data Example
.ConfigureAppHost(appHost => {
using var db = appHost.Resolve<IDbConnectionFactory>().Open();
if (db.CreateTableIfNotExists<MyTable>())
{
db.Insert(new MyTable { Name = "Seed Data for new MyTable" });
}
});
*/
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment