pub mod change_executor;
pub mod cascade;
pub mod db_context;
pub mod db_set;
pub mod dependency_graph;
pub mod di;
pub mod entity;
pub mod error;
pub mod interceptor;
pub mod lazy;
pub mod metadata;
pub(crate) mod metadata_cache;
pub mod migration;
pub mod model_builder;
pub mod navigation_loader;
pub mod observability;
pub mod provider;
pub mod query;
pub mod registration;
pub mod relations;
pub mod tracking;
pub mod transaction;
pub use async_trait;
pub use inventory;
pub use rust_ef_macros::{column, entity, linq, EntityType};
pub mod prelude {
pub use crate::db_context::{
DbContext, DbContextOptions, DbContextOptionsBuilder, SaveChangesResult,
};
pub use crate::db_set::{DbSet, IDbSet};
pub use crate::di::DbContextServiceCollectionExt;
pub use crate::entity::{
EntityState, IEntitySnapshot, IEntityType, IFromRow, IGetKeyValues, ILazyInit,
INavigationSetter,
};
pub use crate::error::{EFError, EFResult};
pub use crate::interceptor::{
ISaveChangesInterceptor, SaveChangesContext, SaveChangesResultContext,
};
pub use crate::lazy::{LazyContext, LazyContextImpl, MAX_LAZY_DEPTH};
pub use crate::metadata::EntityTypeMeta;
pub use crate::metadata::NavigationMeta;
pub use crate::metadata::PropertyMeta;
pub use crate::model_builder::{
EntityTypeBuilder, IEntityTypeConfiguration, ModelBuilder, PropertyBuilder,
};
pub use crate::provider::DbValue;
pub use crate::provider::IDatabaseProvider;
pub use crate::provider::IsolationLevel;
pub use crate::query::{
BoolExpr, CteSpec, LinqSource, SetOpSpec, SetOperator, WindowFuncKind, WindowSpec,
};
pub use crate::registration::{EntityConfigRegistration, EntityRegistration};
pub use crate::relations::{BelongsTo, DeleteBehavior, HasMany, HasOne};
pub use crate::tracking::ChangeTracker;
pub use crate::transaction::{DbTransaction, ITransaction};
pub use rust_ef_macros::column;
pub use rust_ef_macros::entity;
pub use rust_ef_macros::linq;
pub use rust_ef_macros::EntityType;
}