52 lines
1.1 KiB
C#
52 lines
1.1 KiB
C#
using System;
|
|
using Cysharp.Threading.Tasks;
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace BITKit;
|
|
|
|
public interface IDatabaseContext<T> where T : class
|
|
{
|
|
void Add(T entity);
|
|
UniTask AddAsync(T entity);
|
|
void Remove(T entity);
|
|
T[] GetArray();
|
|
bool TrySearch(Func<T, bool> searchFactory, out T result);
|
|
bool TrySearchArray(Func<T, bool> searchFactory, out T[] result);
|
|
}
|
|
|
|
public abstract class EntityFrameworkContext<T>:DbContext ,IDatabaseContext<T> where T : class
|
|
{
|
|
protected DbSet<T> context { get; private set; }
|
|
|
|
public void Add(T entity)
|
|
{
|
|
context.Add(entity);
|
|
SaveChanges();
|
|
}
|
|
|
|
public async UniTask AddAsync(T entity)
|
|
{
|
|
await context.AddAsync(entity);
|
|
await SaveChangesAsync();
|
|
}
|
|
|
|
public void Remove(T entity)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public T[] GetArray()
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public bool TrySearch(Func<T, bool> searchFactory, out T result)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public bool TrySearchArray(Func<T, bool> searchFactory, out T[] result)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
} |