C# EF6数据库帮助类
时间: 2023-07-27 21:11:10 浏览: 53
以下是一个基本的 C# EF6 数据库帮助类:
```csharp
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
public class DbContextHelper<T> where T : DbContext, new()
{
private static T _instance;
public static T Instance
{
get { return _instance ?? (_instance = new T()); }
}
public static void Add<TEntity>(TEntity entity) where TEntity : class
{
using (var context = Instance)
{
context.Set<TEntity>().Add(entity);
context.SaveChanges();
}
}
public static void Update<TEntity>(TEntity entity) where TEntity : class
{
using (var context = Instance)
{
context.Entry(entity).State = EntityState.Modified;
context.SaveChanges();
}
}
public static void Delete<TEntity>(TEntity entity) where TEntity : class
{
using (var context = Instance)
{
context.Set<TEntity>().Remove(entity);
context.SaveChanges();
}
}
public static List<TEntity> GetAll<TEntity>() where TEntity : class
{
using (var context = Instance)
{
return context.Set<TEntity>().ToList();
}
}
public static TEntity GetById<TEntity>(object id) where TEntity : class
{
using (var context = Instance)
{
return context.Set<TEntity>().Find(id);
}
}
}
```
使用时,可以通过继承该类来创建自己的数据库帮助类,例如:
```csharp
public class MyDbContextHelper : DbContextHelper<MyDbContext>
{
// 自定义方法
}
```
然后就可以通过 `MyDbContextHelper` 类来进行增删改查等操作了。例如:
```csharp
var entity = new MyEntity { Id = 1, Name = "Test" };
MyDbContextHelper.Add(entity);
var updatedEntity = MyDbContextHelper.GetById<MyEntity>(1);
updatedEntity.Name = "Updated";
MyDbContextHelper.Update(updatedEntity);
MyDbContextHelper.Delete(updatedEntity);
var allEntities = MyDbContextHelper.GetAll<MyEntity>();
```