请教个EF code first DbContext问题

一个code first 入门的代码哦。根据园子里的代码敲的,我代码运行成功了。但在数据库没有生成数据库。 园子里这样说: 当没有显示设置数据连接的时候,默认的数据库是:.\SQLEXPRESS。如果本地没有SQLEXPRESS,EF会尝试LocalDb ((localdb)\v11.0) .\SQLEXPRESS   这句话的意思是本地没有 .\SQLEXPRESS就会尝试LocalDb ((localdb)\v11.0) .\SQLEXPRESS是吗,但我本地是没有.\SQLEXPRESS这个呢。我链接数据库的服务器名称就是一个点 .  那上面那句话EF就会这样找吗?((localdb)\v11.0) .\SQLEXPRESS 那不是还在找这个吗?.\SQLEXPRESS 我没有。那不还是找不到。会的帮我解决下。谢谢了。   补充一下:我是vs2012开发工具,如果我导入EF4.0就会报错:提供程序未返回 ProviderManifestToken 字符串。但我通过NuGet安装的,这个安装的是EF5 这样就不报错。执行成功。数据库没生成数据库。会的也帮我解答下。谢谢。我是刚学者弄EF。   Model类 View Code /// /// Model /// public class Destination { public int DestinationId { get; set; } public string Name { get; set; } public string Country { get; set; } public string Description { get; set; } public byte[] Photo { get; set; } public List Lodgings { get; set; } } public class Lodging { public int LodgingId { get; set; } public string Name { get; set; } public string Owner { get; set; } public bool IsResort { get; set; } public Destination Destination { get; set; } }   Context View Code /// /// Context /// public class BreakAwayContext : DbContext { public DbSet Destinations { get; set; } public DbSet Lodgings { get; set; } }   Main View Code static void Main(string[] args) { var destination = new Destination { Country = "Indonesia", Description = "EcoTourism at its best in exquisite Bali", Name = "Bali" }; using (var context = new BreakAwayContext()) { context.Destinations.Add(destination); context.SaveChanges(); } Console.WriteLine("OK"); Console.ReadKey(); }
鸿蒙传说
浏览 474回答 1
1回答

皈依舞

你可以这么认为,当你计算机中有本地数据库比如你安装了sql2008那它就会自动认为这个是你的数据库,没有话连接sql exress,再没有连接localdb,localdb是属于sql2012的一个比sql express更轻量级的数据库。 ef不用非得用nuget安装,其实你引用那个dll效果是一样。
打开App,查看更多内容
随时随地看视频慕课网APP