如何在没有DbSet<>时使用DbContext在里面,查询?

时间:2016-10-02 13:53:10

标签: c# entity-framework linq ef-code-first

我正在使用实体框架代码优先,这是我的 DbContext 。如您所见, DbSet<> 属性没有任何内容,所有这些属性都将来自我的模型类,它们由C#for item in casinos: info_casino[item['contentid_id']].append({'name_field':item['name_field'],'value':item['value']}) casino[item['contentid_id']] = {'fields':info_casino[item['contentid_id']],'title':item['title']} 提供。我正在使用代码优先动态创建表格

CodeDOM

但现在我不知道如何在 DbContext 中没有任何 DbSet<> 的情况下编写查询Linq ? make我的DbContext的实例并使用哪个属性?

    public class MyDBContext : DbContext
{

    public MyDBContext() : base("MyCon")
    {
        Database.SetInitializer<MyDBContext>(new CreateDatabaseIfNotExists<MyDBContext>());
    }
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        var entityMethod = typeof(DbModelBuilder).GetMethod("Entity");
        var theList = Assembly.GetExecutingAssembly().GetTypes()
                  .Where(t => t.Namespace == "FullDynamicWepApp.Data.Domins")
                  .ToList();
        foreach (var item in theList)
        {
            entityMethod.MakeGenericMethod(item)
                           .Invoke(modelBuilder, new object[] { });
        }
        base.OnModelCreating(modelBuilder);
    }

}

在这种情况下,如何编写 CRUD操作

1 个答案:

答案 0 :(得分:1)

DbContext.Set<TEntity>方法将为给定类型返回DbSet<TEntity>,例如:

Db.Set<Entity>().Add(entity);