Ale*_*lex 4 c# entity-framework .net-core visual-studio-2017
我是EF的新手,我正在尝试使用VS 2017,.NET Core 2.0和EF 2.0创建一个简单的测试解决方案,但我无法通过添加迁移来创建迁移文件夹和初始迁移.
我创建了一个名为Driver的解决方案,其中包含两个.Net Core类库项目:
Driver.Data
Driver.Domain
Run Code Online (Sandbox Code Playgroud)
Driver.Data中安装了以下软件包:
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools
Run Code Online (Sandbox Code Playgroud)
Driver.Data有一个名为Driver.Context的 cs文件:
using Driver.Domain;
using Microsoft.EntityFrameworkCore;
namespace Driver.Data
{
public class DriverContext : DbContext
{
public DbSet<Company> Companies { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(
"Server=(localdb)\\mssqllocaldb; Database=Driver; Trusted_Connection=True;"
);
}
}
}
Run Code Online (Sandbox Code Playgroud)
Driver.Domain有一个名为Company.cs的 cs文件:
namespace Driver.Domain
{
public class Company
{
public int Id { get; set; }
public string Name { get; set; }
public string City { get; set; }
public string State { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
我已将启动项目设置为Driver.Data,并在PM控制台中将Default Project设置为Driver.Data
以下是add-migration init -verbose的输出:
Using project 'Driver.Data'.
Using startup project 'Driver.Data'.
Build started...
Build succeeded.
C:\Program Files\dotnet\dotnet.exe exec --depsfile "C:\Users\alex.florin\Documents\Visual Studio 2017\Projects\Driver\trunk\Driver.Data\bin\Debug\netcoreapp2.0\Driver.Data.deps.json" --additionalprobingpath C:\Users\alex.florin\.nuget\packages --additionalprobingpath "C:\Program Files (x86)\Microsoft SDKs\NuGetPackagesFallback" --additionalprobingpath "C:\Program Files\dotnet\sdk\NuGetFallbackFolder" --fx-version 2.0 "C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.entityframeworkcore.tools\2.0.1\tools\netcoreapp2.0\ef.dll" migrations add init --json --verbose --no-color --prefix-output --assembly "C:\Users\alex.florin\Documents\Visual Studio 2017\Projects\Driver\trunk\Driver.Data\bin\Debug\netcoreapp2.0\Driver.Data.dll" --startup-assembly "C:\Users\alex.florin\Documents\Visual Studio 2017\Projects\Driver\trunk\Driver.Data\bin\Debug\netcoreapp2.0\Driver.Data.dll" --project-dir "C:\Users\alex.florin\Documents\Visual Studio 2017\Projects\Driver\trunk\Driver.Data\\" --root-namespace Driver.Data
Run Code Online (Sandbox Code Playgroud)
没有错误,但没有生成任何内容.
Ale*_*lex 15
当我在她的复数课程讨论中提出问题时,@ JulieLerman提供了答案.尝试使用.NET Core类库时显然存在问题.成功的解决方法是将以下内容放在DBContext项目的csproj文件中:
<PropertyGroup>
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConf?igurationFiles>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
她写了一篇关于它的博客:http: //thedatafarm.com/data-access/the-secret-to-running-ef-core-2-0-migrations-from-a-net-core-or-net-standard -class库/
此外,请确保将项目中的DBContext设置为启动项目
归档时间: |
|
查看次数: |
8123 次 |
最近记录: |