日期:2014-05-17  浏览次数:20479 次

请教个EF code first DbContext问题
本帖最后由 visual_studi 于 2013-01-27 17:21:42 编辑
一个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类

  /// <summary>
    /// Model
    /// </summary>
    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<Lodging> 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

 /// <summary>
    /// Context
    /// </summary>
    public class BreakAwayContext : DbContext
    {
        public DbSet<Destination> Destinations { get; set; }
        public DbSet<Lodging> Lodgings { get; set; }
    } 


Main

  static void Main(string[] args)
        {
            var destination = new Destination
            {
                Country = "Indonesia",
                Description = "EcoTourism at its best in exquisite Bali",