- 使用NuGet安装EntityFramework
- 创建实体类Student.cs
[Table(nameof(Student ))]
public class Student
{
[Key]
public int ID { get; set; }
public string Name{ get; set; }
}
- 创建AppDbContext.cs
public class AppDbContext: DbContext
{
public AppDbContext():base("name=connStr")
{
//Database.CommandTimeout = 10;
}
// 自定义上下文方法
// 备注:使用时,直接调用DoAction()即可,无需创建上下文。
public static void DoAction(Action<AppDbContext> action)
{
try
{
using (AppDbContext db = new AppDbContext())
{
action(db);
}
}
catch (Exception ex)
{
string log = $"方法名称:{ nameof(DoAction)} \n"
+ $"Message:{ ex.Message } \n"
+ $"InnerException:{ex.InnerException} \n "
+ $"StackTrace:{ ex.StackTrace}";
Log4Helper.Error(typeof(AppDbContext), log);
throw ex;
}
}
public DbSet<Student> Student { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
//当前代码所在程序集,加载所有的继承自EntityTypeConfiguration为模型配置类 modelBuilder.Configurations.AddFromAssembly(Assembly.GetExecutingAssembly());
}
}