A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible.
あなたのSQL Serverインスタンスは、ローカルネットワーク上でホストされている場合、それは、リモートアクセス可能に構成されているかどうかを確認してください。リモートアクセスできない場合は、SQL Serverデータベースを仮想マシンまたはAzure SQLに移行する必要があります。次に、接続文字列を変更して、プロジェクトからアクセスできる新しいデータベースにアクセスすることができます。
I don't want to migrate anything, I want to make a new database on the VM..
あなたのVMで動作するローカルDBを使用できます。アプリケーションタイプがWebアプリケーションの場合は、データベースを次のように変更できます。 EFはApp_Dataフォルダに新しいデータベースを作成します。
それ以外の場合は、接続文字列にデータベースファイルの詳細パスを設定する必要があります。例えば、
Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=D:\Database1.mdf;Integrated Security=True
私はちょうどインストールVS 2017でのAzureのWindows 10の仮想マシン上でLocalDBをテストし、私は最初のEFコードを使用する場合には、データベースを作成することができます。以下は私のテストコードです。
class Program
{
static void Main(string[] args)
{
using (SchoolContext context = new SchoolContext())
{
context.Students.Add(new Student { ID = 1, FirstMidName = "FMN", LastName = "LN", EnrollmentDate = DateTime.Now });
context.SaveChanges();
}
Console.Write("Create database OK");
Console.Read();
}
}
public class Student
{
public int ID { get; set; }
public string LastName { get; set; }
public string FirstMidName { get; set; }
public DateTime EnrollmentDate { get; set; }
}
public class SchoolContext : DbContext
{
public SchoolContext() : base(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\amor\Desktop\TestEF\CodeFirstSample\Database1.mdf;Integrated Security=True")
{
}
public DbSet<Student> Students { get; set; }
}
何をしようとしていますか?リモートマシンやそれに何を配備しますか? – Mardoxx
@Mardoxxローカルマシンではなく仮想マシンを開発するように設定する。 –