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