我正在使用实体框架代码优先,这是我的 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操作?
答案 0 :(得分:1)
DbContext.Set<TEntity>
方法将为给定类型返回DbSet<TEntity>
,例如:
Db.Set<Entity>().Add(entity);