如何以编程方式将DbSet添加到我的dbContext类中。 [
public class MyDBContext : DbContext
{
public MyDBContext() : base("MyCon")
{
Database.SetInitializer<MyDBContext>(new CreateDatabaseIfNotExists<MyDBContext>());
}
//Do this part programatically:
public DbSet<Admin> Admins { get; set; }
public DbSet<MyXosh> MyProperty { get; set; }
}
&#13;
] [1]
我想通过((C#Code-DOM))添加我的模型类,当然我做了。但现在我在Context类中创建DbSet属性有问题...
答案 0 :(得分:1)
而且:Create Table, Run Time using entity framework Code-First
是解决方案。无需直接与 dbSets 发生争执。它只是通过这样做的东西来工作:
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);
}
}
答案 1 :(得分:0)
对于在此处学习的使用 EF Core 的用户:
下面的代码仅适用于具有通用类型的一张表。如果需要更多类型,可以随时将它们传递给构造函数并运行一个循环。
POST