2017-07-14 103 views
2

我正在使用新的asp.net核心,並有我的類和數據庫上下文中的sep dll我已經添加了代碼根據文檔。asp.net核心問題添加第一個數據庫遷移

public IConfigurationRoot Configuration { get; } 

    // This method gets called by the runtime. Use this method to add services to the container. 
    public void ConfigureServices(IServiceCollection services) 
    { 
     // Add framework services. 
     services.AddMvc(); 
     services.AddDbContext<solitudeDContext>(options => 


options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection") 
    ,b=>b.MigrationsAssembly("solitudedcore")));   
    } 

但我仍然得到以下錯誤,當我運行下面的命令

DOTNET EF migration增加firstdb

你的目標項目「solitudeeccore」不符合您的遷移組件「 solitudedcore」。請更改您的目標項目或更改您的遷移程序集。 通過使用DbContextOptionsBuilder更改您的遷移程序集。例如。 options.UseSqlServer(connection,b => b.MigrationsAssembly(「solitudeeccore」))。默認情況下,遷移程序集是包含DbContext的程序集。 使用程序包管理器控制檯的默認項目下拉列表或通過從包含遷移項目的目錄執行「dotnet ef」將目標項目更改爲遷移項目。

我已經改變了下拉到項目,並添加了B => b.MigrationsAssembly(「solitudedcore」)作爲此是針對在EF內核github上https://github.com/aspnet/EntityFramework/issues/7869

我也包括我的項目包括供您參考。

<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" /> 
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.3" /> 
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.1.2" /> 
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.1" /> 

而我的AppSettings文件如下

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

    "ConnectionStrings": { 
    "DefaultConnection": "Data Source=DESKTOP-JHIMUM4\\SQLEXPRESS2014;Initial Catalog=solitudeec;Trusted_Connection=True;MultipleActiveResultSets=true" 
    } 


} 

任何意見或解決方案將不勝感激。

請找我的項目佈局在這裏

https://imgur.com/a/oSvr4

編輯1

下面的人確實是正確的它是DLL的拼寫,但你也需要針對其承載項目你的dll不是真正的dll本身。

要在命令提示符調用創建遷移

DOTNET EF migration增加firstdb

並把你的改變了簡單的調用

DOTNET EF數據庫更新-e生產

+0

感謝u代表所有選票人 – david

回答

2

遷移程序集名稱中存在拼寫錯誤。

你的目標項目'solitudeeccore'不符合您的遷移組件'solitudedcore'

+0

所以我應該怎麼改變 – david

+0

是incldues上下文是solitudedccore所以這是正確的,但我會檢查 – david

+0

@大衛大會:嘗試在ConfigureServices函數變化「solitudedcore」到「solitudeeccore」 。 –