2017-12-06 11 views
0

私はEntityFrameworkとCoreの本当の初心者です。EntityFrameworkコアで単純なデータベースを作成できません

単純なデータベースをEntityFramework Core 2.0で作成したいと考えています。このプロジェクトは、Microsoft.AspNetCore.All by Nugetパッケージを含むConsoleApplicationです。これはコードです:

namespace TestEF 
{ 
class Program 
{ 
    static void Main(string[] args) 
    { 
     string connStr = "Server=(localdb)\\mssqllocaldb;Database=SchoolDataBase;Trusted_Connection=True;MultipleActiveResultSets=true"; 

     var db = new SchoolContext(SqlServerDbContextOptionsExtensions.UseSqlServer(new DbContextOptionsBuilder(), connStr).Options); 
     db.Students.Add(
      new Student() 
      { 
       LastName = "Miranda", 
       EnrollmentDate = DateTime.Now, 
       FirstMidName = "Guillermo" 
      }); 
     db.SaveChanges(); 

     Console.WriteLine("Hello World!"); 
     Console.ReadLine(); 
    } 
} 

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(DbContextOptions options) : base(options) 
    { 
    } 
    public DbSet<Student> Students { get; set; } 
} 
} 

私はユーザー名 "gmiranda"としてイントラネットにログインしています。私はプロジェクトを実行すると、私は次のメッセージのエラーを取得:

System.Data.SqlClient.SqlExceptionはログインで要求 HRESULT = 0x80131904 メッセージ=開くことができませんデータベース「SchoolDataBase」を発生しました。ログインに失敗しました。 ユーザー 'domain \ gmiranda'のログインに失敗しました。

私は間違っていますか? ありがとう!

答えて

0

あなたはこのコードを試してみてください:

class Program 
{ 
    static void Main(string[] args) 
    { 
     string connStr = "Data Source=(localdb)\\mssqllocaldb;Database=SchoolDataBase;Trusted_Connection=True;MultipleActiveResultSets=true"; 

     var db = new SchoolContext(); 
     db.Students.Add(
      new Student() 
      { 
       LastName = "Miranda", 
       EnrollmentDate = DateTime.Now, 
       FirstMidName = "Guillermo" 
      }); 
     db.SaveChanges(); 

     Console.WriteLine("Hello World!"); 
     Console.ReadLine(); 
    } 
} 

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() 
    { 

    } 
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) 
    { 
     optionsBuilder.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=SchoolDataBase;Trusted_Connection=True;MultipleActiveResultSets=true"); 
    } 
    public DbSet<Student> Students { get; set; } 
} 

そして、パッケージマネージャコンソールを開き、[追加] - 移行FirstMigrarionをコマンドを使用します。 FirsMigrationという名前のデータベースへの追加移行。 次に、コマンドUpdate-Databaseを使用します。 その後、プログラムを実行します。

このチュートリアルを使用してみてください:https://docs.microsoft.com/en-us/ef/core/get-started/full-dotnet/new-db

関連する問題