Table of Contents

Class EfDataStore<T>

Namespace
Tlabs.Data.Store
Assembly
Tlabs.EfDataStore.dll

IDataStore implementaion based on the Entity Framework Core and a Microsoft.EntityFrameworkCore.DbContext.

public class EfDataStore<T> : IDataStore, IDisposable where T : DbContext

Type Parameters

T
Inheritance
EfDataStore<T>
Implements
Inherited Members
Extension Methods

Constructors

EfDataStore(T, ILogger<EfDataStore<T>>)

Ctor from ctx and log.

public EfDataStore(T ctx, ILogger<EfDataStore<T>> log)

Parameters

ctx T
log ILogger<EfDataStore<T>>

Properties

AutoCommit

public bool AutoCommit { get; set; }

Property Value

bool

Methods

Attach<TEntity>(TEntity)

public TEntity Attach<TEntity>(TEntity entity) where TEntity : class

Parameters

entity TEntity

Returns

TEntity

Type Parameters

TEntity

CommitChanges()

public void CommitChanges()

Delete<TEntity>(IEnumerable<TEntity>)

public void Delete<TEntity>(IEnumerable<TEntity> entities) where TEntity : class

Parameters

entities IEnumerable<TEntity>

Type Parameters

TEntity

Delete<TEntity>(TEntity)

public void Delete<TEntity>(TEntity entity) where TEntity : class

Parameters

entity TEntity

Type Parameters

TEntity

Dispose()

public void Dispose()

EnsureStore(IEnumerable<IDataSeed>?)

public void EnsureStore(IEnumerable<IDataSeed>? seeds)

Parameters

seeds IEnumerable<IDataSeed>

Evict<TEntity>(TEntity)

public void Evict<TEntity>(TEntity entity) where TEntity : class

Parameters

entity TEntity

Type Parameters

TEntity

GetIdentifier<TEntity>(TEntity)

public object GetIdentifier<TEntity>(TEntity entity) where TEntity : class

Parameters

entity TEntity

Returns

object

Type Parameters

TEntity

Get<TEntity>(params object[])

public TEntity Get<TEntity>(params object[] keys) where TEntity : class

Parameters

keys object[]

Returns

TEntity

Type Parameters

TEntity

Insert<TEntity>(IEnumerable<TEntity>)

public IEnumerable<TEntity> Insert<TEntity>(IEnumerable<TEntity> entities) where TEntity : class

Parameters

entities IEnumerable<TEntity>

Returns

IEnumerable<TEntity>

Type Parameters

TEntity

Insert<TEntity>(TEntity)

public TEntity Insert<TEntity>(TEntity entity) where TEntity : class

Parameters

entity TEntity

Returns

TEntity

Type Parameters

TEntity

LoadExplicit<E, P>(E, Expression<Func<E, IEnumerable<P>>>)

public E LoadExplicit<E, P>(E entity, Expression<Func<E, IEnumerable<P>>> prop) where E : class where P : class

Parameters

entity E
prop Expression<Func<E, IEnumerable<P>>>

Returns

E

Type Parameters

E
P

LoadExplicit<E, P>(E, Expression<Func<E, P?>>)

public E LoadExplicit<E, P>(E entity, Expression<Func<E, P?>> prop) where E : class where P : class

Parameters

entity E
prop Expression<Func<E, P>>

Returns

E

Type Parameters

E
P

LoadRelated<E>(IQueryable<E>, string)

public IQueryable<E> LoadRelated<E>(IQueryable<E> query, string navigationPropertyPath) where E : class

Parameters

query IQueryable<E>
navigationPropertyPath string

Returns

IQueryable<E>

Type Parameters

E

LoadRelated<E, P>(IQueryable<E>, Expression<Func<E, P>>)

public IEagerLoadedQueryable<E, P> LoadRelated<E, P>(IQueryable<E> query, Expression<Func<E, P>> navProperty) where E : class

Parameters

query IQueryable<E>
navProperty Expression<Func<E, P>>

Returns

IEagerLoadedQueryable<E, P>

Type Parameters

E
P

Merge<TEntity>(TEntity)

public TEntity Merge<TEntity>(TEntity entity) where TEntity : class, new()

Parameters

entity TEntity

Returns

TEntity

Type Parameters

TEntity

Query<TEntity>()

public IQueryable<TEntity> Query<TEntity>() where TEntity : class

Returns

IQueryable<TEntity>

Type Parameters

TEntity

ResetAll()

public void ResetAll()

ResetChanges()

public void ResetChanges()

ThenLoadRelated<E, Prev, Prop>(IEagerLoadedQueryable<E, IEnumerable<Prev>>, Expression<Func<Prev, Prop>>)

public IEagerLoadedQueryable<E, Prop> ThenLoadRelated<E, Prev, Prop>(IEagerLoadedQueryable<E, IEnumerable<Prev>> query, Expression<Func<Prev, Prop>> navProperty) where E : class

Parameters

query IEagerLoadedQueryable<E, IEnumerable<Prev>>
navProperty Expression<Func<Prev, Prop>>

Returns

IEagerLoadedQueryable<E, Prop>

Type Parameters

E
Prev
Prop

ThenLoadRelated<E, Prev, Prop>(IEagerLoadedQueryable<E, Prev>, Expression<Func<Prev, Prop>>)

public IEagerLoadedQueryable<E, Prop> ThenLoadRelated<E, Prev, Prop>(IEagerLoadedQueryable<E, Prev> query, Expression<Func<Prev, Prop>> navProperty) where E : class

Parameters

query IEagerLoadedQueryable<E, Prev>
navProperty Expression<Func<Prev, Prop>>

Returns

IEagerLoadedQueryable<E, Prop>

Type Parameters

E
Prev
Prop

UntrackedQuery<TEntity>()

public IQueryable<TEntity> UntrackedQuery<TEntity>() where TEntity : class

Returns

IQueryable<TEntity>

Type Parameters

TEntity

Update<TEntity>(IEnumerable<TEntity>)

public IEnumerable<TEntity> Update<TEntity>(IEnumerable<TEntity> entities) where TEntity : class

Parameters

entities IEnumerable<TEntity>

Returns

IEnumerable<TEntity>

Type Parameters

TEntity

Update<TEntity>(TEntity)

public TEntity Update<TEntity>(TEntity entity) where TEntity : class

Parameters

entity TEntity

Returns

TEntity

Type Parameters

TEntity

WithTransaction(Action<IDataTransaction>)

public void WithTransaction(Action<IDataTransaction> operation)

Parameters

operation Action<IDataTransaction>