动态选择将数据插入实体框架的表

时间:2014-08-12 11:46:09

标签: c# entity-framework asp.net-mvc-4 entity-framework-5

所以我编写的应用程序需要在运行时选择一个实体并通过实体框架添加保存到数据库,我已经通过使用ADO.NET实体创建了数据库和基于它的模型数据模型,即保存数据的对象,根据使用反射类在运行时添加的数据进行选择,如下所示;

                mytype = Type.GetType(objName);
                myObject = Activator.CreateInstance(mytype);

如何选择要使用的实体,我可以做这样的事情:

                db.[MyEntity].Add(myObject);
                db.SaveChanges();

由于

2 个答案:

答案 0 :(得分:4)

您可以按实体类型获取DbSet

var set = db.Set(myObject.GetType());
set.Add(myObject);
db.SaveChanges();

答案 1 :(得分:0)

您可以使用通用Set并创建通用方法。

public static class MyLibrary
{
    public static void Add<T>(this DbContext db, T obj) where T : class
    {
        db.Set<T>().Add(obj);
    }
}

使用。

db.Add(myObject);