实体框架核心:为每个实体自动实现CRUD?

时间:2017-09-22 12:33:23

标签: c# entity-framework-core crud boilerplate

ORM是实体框架核心。 DataModel中有大约100种类型的实体。有没有办法避免为每个文件键入样板基本的CRUD操作代码?

public static async Task RemoveFooAsync(int fooID)
{
     using (var db = new DBContext())
     {
          db.Foo.Remove(db.Foo.Single(x => x.FooID == fooID));
          await db.SaveChangesAsync();
     }
}

更新 在这种情况下如何使用泛型?

productMap['TEC0'][1].productName;

1 个答案:

答案 0 :(得分:1)

实体框架工作本身是通用的,因此您不需要这样做。

ToolBar

这里的Entry参数可以是任何类型的<> App Db上下文中的实体

使用实体对象

创建这样一个可重用的方法

以相同的方式使用更新:

using (var dbCtx = new SchoolDBEntities())
    {
        //Add newStudent entity into DbEntityEntry and mark EntityState to Added
        dbCtx.Entry(newStudent).State = System.Data.Entity.EntityState.Added;

        // call SaveChanges method to save new Student into database
        dbCtx.SaveChanges();
    }