2017-10-07 14 views
0

は、私は新しいasp.netコア2.0プロジェクトを持っていると私は私のデシベルコンテキストが移行の道を経由してDBに格納されますしようとしている今、私はそこにあるべきNuGet経由でインストールの依存関係を持っています。EFコア2.0 DBコンテキスト初めての設定

これは私のDBContext

public class SolitudeDBContext : DbContext 
{ 
    public SolitudeDBContext(DbContextOptions options) : base(options) { } 
    public virtual DbSet<OrderHeader> OrderHeader { get; set; } 

    protected override void OnModelCreating(ModelBuilder modelBuilder) 
    { 

     modelBuilder.HasDefaultSchema(schema: SchemaName.Portal); 

     base.OnModelCreating(modelBuilder); 
    } 

    public override int SaveChanges() 
    {   
     return base.SaveChanges(); 
    } 
} 

私は私のデフォルトの接続を保存する私のappSettingsです。私は

PM> DOTNETのEFの移行を使用している

{ 
    "ConnectionStrings": { 
    "DefaultConnection": "Server=DESKTOP-JHIMUM4\\SQLEXPRESS2014;Database=solitude;Trusted_Connection=True;MultipleActiveResultSets=true" 
    }, 

"Logging": { 
    "IncludeScopes": false, 
    "LogLevel": { 
    "Default": "Warning" 
    } 
} 
} 

firstDatabase

追加しかし、あなたは 参照がモデルにもインストールされて見ることができるにもかかわらず、次のエラーがスローされます私が持っていますアイテムグループは に固定されています。 DOTNET: ラインでコマンド "DOTNET-EF" を一致が見つかりません実行可能:1つの文字:1つの + DOTNETのEFの移行がfirstDatabase 追加+ ~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ + CategoryInfo:NotSpecified:(いいえ実行F ...と "DOTNET-EF":String)を[]、RemoteExceptionを + FullyQualifiedErrorId:NativeCommandError

マイプロジェクトファイル

<Project Sdk="Microsoft.NET.Sdk"> 

    <PropertyGroup> 
    <TargetFramework>netcoreapp2.0</TargetFramework> 
    </PropertyGroup> 

    <ItemGroup> 
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.0.0" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.0" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" /> 
    </ItemGroup> 

    <ItemGroup> 
    <Folder Include="Models\products\" /> 
    <Folder Include="Models\stock\" /> 
    </ItemGroup> 

</Project> 

プロジェクト第二編集後:

<Project Sdk="Microsoft.NET.Sdk"> 

    <PropertyGroup> 
    <TargetFramework>netcoreapp2.0</TargetFramework> 
    </PropertyGroup> 

    <ItemGroup> 
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" /> 
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0" /> 
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" /> 
    </ItemGroup> 


    <ItemGroup> 
    <Folder Include="Models\products\" /> 
    <Folder Include="Models\stock\" /> 
    </ItemGroup> 

    <ItemGroup> 
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" /> 
    </ItemGroup> 

</Project> 
+0

、 'dotned'はhttps://docs.microsoft.com/en-us/aspnet/([コマンドウィンドウ命令]でありますコア/データ/ ef-mvc /移行)。または[このチュートリアル](https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/new-db)に従ってください。 –

+0

@GertArnoldそのガイドは.netコア用です.net core 2には違いがあります – rogue39nin

答えて

0

あなたはパッケージ参照の代わりにDotNetCliToolReferenceとしてMicrosoft.EntityFrameworkCore.Tools.DotNetを追加する必要があります。これはdotnet-efコマンドを使用できるようになります:あなたはパッケージマネージャコンソールにいる

<ItemGroup> 
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" /> 
</ItemGroup> 
+0

私はまだ上記のエラーを受けています – rogue39nin

+0

私は修正されたファイルを追加して上記の編集を行いましたが、まだ同じエラーが発生しています – rogue39nin

+0

'dotnet最初に復元する? – poke