Skip to main content

Crate rust_ef

Crate rust_ef 

Source
Expand description

§Rust Entity Framework (rust-ef)

An EFCore-inspired ORM for Rust, bringing the familiar DbContext/DbSet/EntityType patterns to the Rust ecosystem.

§Example

use rust_ef::prelude::*;

#[derive(EntityType)]
#[table("blogs")]
pub struct Blog {
    #[primary_key]
    #[auto_increment]
    pub blog_id: i32,
    #[required]
    #[max_length(200)]
    pub url: String,
    pub rating: i32,
    #[navigation]
    pub posts: HasMany<Post>,
}

Re-exports§

pub use async_trait;
pub use inventory;

Modules§

cascade
Cascade save: drain children from principal HasMany navigations, FK fixup after principal PK backfill, and M2M join-row insertion via direct SQL.
change_executor
Change executor — generates and executes SQL for entity state changes.
db_context
DbContext — the session / unit-of-work layer.
db_set
DbSet �?entry point for querying and manipulating entity collections.
dependency_graph
Dependency graph and topological sort — determines entity save order.
di
DI integration — AddDbContext on rust-dix.
entity
Entity type trait and state definitions.
error
Error types for Rust Entity Framework (rust-ef).
interceptor
SaveChanges interceptor �?hooks into the DbContext lifecycle.
lazy
Lazy loading infrastructure for navigation properties.
metadata
Model metadata types for describing entities, properties, and relationships.
migration
Migration engine — model snapshot diffing, migration generation, and history tracking.
model_builder
Model builder - ?Fluent API for configuring entity types.
navigation_loader
Eager-loading of navigation properties via secondary queries.
observability
Tracing/observability instrumentation guards.
prelude
Re-exports of the most commonly used types.
provider
Database provider abstraction trait.
query
Query builder & LINQ-style chainable query API.
registration
Compile-time entity registration via inventory.
relations
Relationship types (BelongsTo<T>, HasMany<T>, HasOne<T>).
tracking
Change tracking �?entity state management, snapshots, and detection.
transaction
Transaction handle abstraction.

Macros§

column
linq
Compile-time LINQ-to-SQL.

Attribute Macros§

entity
Attribute macro for impl IEntityTypeConfiguration<T> blocks.

Derive Macros§

EntityType