我试图让附加的程序工作,但是我得到一个错误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; }
}
}
马腾
答案 0 :(得分:0)
使用(localdb)\\mssqllocaldb
代替(localdb)\mssqllocaldb
。请参阅\\
。
\
是一个转义字符,所以你需要使用两个。我想这就是问题所在。
答案 1 :(得分:0)
你添加了sql连接吗?
using System.Data.SqlClient;
"user id=username;" +"password=pass.;server=servername;" +
"Trusted_Connection=yes;" +"database=tablo_1; " + "connection timeout=30"
servername应该是这样的:DESKTOP-I....\\SQL_2014;