1pub mod cascade;
27pub mod change_executor;
28pub mod db_context;
29pub mod db_set;
30pub mod dependency_graph;
31pub mod di;
32pub mod entity;
33pub mod entity_snapshot;
34pub mod error;
35pub mod interceptor;
36pub mod lazy;
37pub mod metadata;
38pub(crate) mod metadata_cache;
39pub mod migration;
40pub mod model_builder;
41pub mod navigation_loader;
42pub mod observability;
43pub mod provider;
44pub mod query;
45pub mod registration;
46pub mod relations;
47pub(crate) mod session;
48pub mod tracking;
49pub mod transaction;
50
51pub use async_trait;
52
53pub use inventory;
54
55pub use rust_ef_macros::{column, entity, linq, EntityType};
56
57pub mod prelude {
59 pub use crate::db_context::{
60 DbContext, DbContextOptions, DbContextOptionsBuilder, SaveChangesResult,
61 };
62 pub use crate::db_set::{DbSet, IDbSet};
63 pub use crate::di::DbContextServiceCollectionExt;
64 pub use crate::entity::{
65 EntityState, IEntitySnapshot, IEntityType, IFromRow, IGetKeyValues, ILazyInit,
66 INavigationSetter,
67 };
68 pub use crate::entity_snapshot::EntitySnapshot;
69 pub use crate::error::{EFError, EFErrorCode, EFResult};
70 pub use crate::interceptor::{
71 ISaveChangesInterceptor, SaveChangesContext, SaveChangesResultContext,
72 };
73 pub use crate::lazy::{LazyContext, LazyContextImpl, MAX_LAZY_DEPTH};
74 pub use crate::metadata::EntityTypeMeta;
75 pub use crate::metadata::NavigationMeta;
76 pub use crate::metadata::PropertyMeta;
77 pub use crate::model_builder::{
78 EntityTypeBuilder, IEntityTypeConfiguration, ModelBuilder, PropertyBuilder,
79 };
80 pub use crate::provider::DbValue;
81 pub use crate::provider::IDatabaseProvider;
82 pub use crate::provider::IsolationLevel;
83 pub use crate::query::{
84 BoolExpr, CteSpec, LinqSource, SetOpSpec, SetOperator, WindowFuncKind, WindowSpec,
85 };
86 pub use crate::registration::{EntityConfigRegistration, EntityRegistration};
87 pub use crate::relations::{BelongsTo, DeleteBehavior, HasMany, HasOne};
88 pub use crate::tracking::ChangeTracker;
89 pub use crate::transaction::{DbTransaction, ITransaction};
90 pub use rust_ef_macros::column;
91 pub use rust_ef_macros::entity;
92 pub use rust_ef_macros::linq;
93 pub use rust_ef_macros::EntityType;
94}