我想先使用代码创建一个数据库。
我的数据库始终处于“DropCreateDatabaseAlways”模式。
我注意到,如果我不尝试对数据库执行一些查询,例如
using (var db = new Models.TnHContext())
{
var query = from u in db.Users
select u;
foreach (var u in query)
{
txt += u.UserID + "<br/>";
}
}
不会创建数据库。除非我执行它,否则只有我才能看到创建的数据库。想知道这是否是由于 EntityFramework 设计/默认行为造成的?
The 数据库初始化器 http://msdn.microsoft.com/en-us/library/gg696323%28v=vs.103%29.aspx当您对上下文执行查询时调用,检索ObjectContext http://msdn.microsoft.com/en-us/library/system.data.objects.objectcontext.aspx来自DbContext http://msdn.microsoft.com/en-us/library/system.data.entity.dbcontext%28v=vs.103%29.aspx,或致电the Database.Initialize method http://msdn.microsoft.com/en-us/library/system.data.entity.database.initialize%28v=vs.103%29.aspx.
因此,如果您想立即创建数据库而不执行查询,您应该使用:
context.Database.Initialize(false);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)