rust-ef-sqlite 1.7.0

SQLite provider for Rust Entity Framework
Documentation
use rust_ef::provider::IDatabaseProvider;
use std::sync::Arc;

pub trait DbContextOptionsBuilderExt {
    fn use_sqlite(&mut self, connection_string: &str) -> &mut Self;
    fn use_sqlite_in_memory(&mut self) -> &mut Self;
}

impl DbContextOptionsBuilderExt for rust_ef::db_context::DbContextOptionsBuilder {
    fn use_sqlite(&mut self, connection_string: &str) -> &mut Self {
        let cs = connection_string.to_string();
        self.set_provider_factory(
            "sqlite",
            &cs,
            Arc::new(move |cs: &str| {
                Ok(Arc::new(crate::provider::SqliteProvider::new(cs)?)
                    as Arc<dyn IDatabaseProvider>)
            }),
        )
    }

    fn use_sqlite_in_memory(&mut self) -> &mut Self {
        self.set_provider_factory(
            "sqlite",
            ":memory:",
            Arc::new(|_cs: &str| {
                Ok(Arc::new(crate::provider::SqliteProvider::new_in_memory()?)
                    as Arc<dyn IDatabaseProvider>)
            }),
        )
    }
}