我正在使用新的asp.net核心并在sep dll中添加了我的类和数据库上下文我已根据文档添加了代码。
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迁移添加firstdb
您的目标项目&#39; solitudeeccore&#39;与您的迁移程序集“solitudedcore”不匹配。更改目标项目或更改迁移程序集。 使用DbContextOptionsBuilder更改迁移程序集。例如。 options.UseSqlServer(connection,b =&gt; b.MigrationsAssembly(&#34; solitudeeccore&#34;))。默认情况下,迁移程序集是包含DbContext的程序集。 使用程序包管理器控制台的默认项目下拉列表或执行&#34; dotnet ef&#34;将目标项目更改为迁移项目。来自包含迁移项目的目录。
我已将下拉菜单更改为项目,并按照EF核心github https://github.com/aspnet/EntityFramework/issues/7869上的指示添加了b =&gt; b.MigrationsAssembly(&#34; solitudedcore&#34;)
我还包括了我的项目,供您参考。
<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"
}
}
任何想法或解决方案都将受到赞赏。
请在此处找到我的项目布局
修改1
下面的人确实是正确的,它是dll的拼写,但你还需要定位你的dll而不是实际的dll本身的项目。
在cmd提示符中调用
创建迁移dotnet ef迁移添加firstdb
并推送您的更改只需致电
dotnet ef数据库更新-e Production
答案 0 :(得分:2)
迁移程序集名称中存在拼写错误。
您的目标项目'solitudeeccore'与您的迁移程序集'solitudedcore'不匹配。