0

我试图让附加的程序工作,但我收到错误 26 找不到本地数据库的服务器。这是一个直接的 MSDN 示例。我可以使用 SSMS 2014 打开 localdb,这是 sql express 安装的一部分。同样在 VS 2015 中,我可以使用 (localdb)\mssqllocaldb 创建与 localdb 的数据库连接。EF 是第 6 版(最新使用 NuGet 下载)。我不知道为什么这不起作用。

代码是:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.Entity;

namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var db = new BloggingContext())
            {
                // Create and save a new Blog 
                Console.Write("Enter a name for a new Blog: ");
                var name = Console.ReadLine();

                var blog = new Blog { Name = name };
                db.Blogs.Add(blog);
                db.SaveChanges();

                // Display all Blogs from the database 
                var query = from b in db.Blogs
                            orderby b.Name
                            select b;

                Console.WriteLine("All blogs in the database:");
                foreach (var item in query)
                {
                    Console.WriteLine(item.Name);
                }

                Console.WriteLine("Press any key to exit...");
                Console.ReadKey();
            }
        }
    }
    public class Blog
    {
        public int BlogId { get; set; }
        public string Name { get; set; }

        public virtual List<Post> Posts { get; set; }
    }

    public class Post
    {
        public int PostId { get; set; }
        public string Title { get; set; }
        public string Content { get; set; }

        public int BlogId { get; set; }
        public virtual Blog Blog { get; set; }
    }

    public class BloggingContext : DbContext
    {
        public DbSet<Blog> Blogs { get; set; }
        public DbSet<Post> Posts { get; set; }
    }
}

马丁

4

2 回答 2

0

使用(localdb)\\mssqllocaldb而不是(localdb)\mssqllocaldb. 见\\

\是一个转义字符,所以你需要使用两个。我想这就是问题所在。

于 2016-07-29T05:50:11.093 回答
0

你添加了sql连接吗?

using System.Data.SqlClient;

"user id=username;" +"password=pass.;server=servername;" + "Trusted_Connection=yes;" +"database=tablo_1; " + "connection timeout=30"

服务器名称应该是这样的:DESKTOP-I....\\SQL_2014;

于 2016-07-29T06:17:48.873 回答