是否可以从用C#创建的对象生成表?
对的,这是可能的。在运行代码之前,您是否碰巧在Management Studio中手动创建了数据库?那可能是你的问题。使用Code
First,默认约定是创建尚不存在的数据库。如果数据库已经存在(甚至没有表),那么它将仅使用现有数据库(但不会尝试创建表)。
您可以删除数据库,然后再次尝试运行代码以查看它是否会为您创建数据库,或者将以下行放入Global.asax中:
Database.SetInitializer(new DropCreateDatabaseAlways<YourDbContextHere>());
一旦运行,我建议将该行更改为:
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<YourDbContextHere>());
这些名称空间在
System.Data.Entity
所述
DbContext类还公开它定义了以下有用的方法数据库属性:
Delete()Create()CreateIfNotExists()
因此,如果您这样定义类:
public class MyContext : DbContext {}您可以像这样构造一个实例:
MyContext db = new MyContext();db.Database.Delete();db.Database.Create();



