【发布时间】:2020-08-22 12:04:36
【问题描述】:
我正在开发 WCF .NET Framework 4.8 项目,它的 WCF 自托管在控制台应用程序中。
我已经在 WCF 控制台应用程序引用的他们自己的单独项目中设置了定义的 POCO 类和 DbContext。
我已经在主控制台应用程序的 app.config 中为 DbContext 声明了 连接字符串。
当我尝试执行 EnableMigrations 和 Add-Migration 等 EF Code First 命令时,它们无法执行并出现错误:
No context type was found in the assembly 'MAL.App.ConsoleHost'
控制台应用程序 App.Config
<entityFramework>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
</providers>
</entityFramework>
<connectionStrings>
<add name="AppDbContext" connectionString="Data Source=MySQLEXPRESS;Initial Catalog=MyDB;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
数据类库
public class AppDbContext: DbContext
{
public DbSet<Album> Albums { get; set; }
public DbSet<AlbumType> AlbumTypes { get; set; }
public DbSet<Artist> Artists { get; set; }
}
一个 POCO 类
public class Album
{
public Guid AlbumID { get; set; }
public string AlbumName { get; set; }
public Guid ArtistID { get; set; }
public Guid AlbumTypeID { get; set; }
public int Stock { get; set; }
public Artist Artist { get; set; }
public AlbumType AlbumType { get; set; }
}
控制台主程序
static void Main(string[] args)
{
ServiceHost hostMusicService = new ServiceHost(typeof(MyWebServices));
hostMusicService.Open();
Console.WriteLine("Web Services Started. Press [Enter] To Exit ");
Console.ReadLine();
hostMusicService.Close();
}
【问题讨论】:
标签: c# entity-framework-6 ef-code-first .net-4.8