Здесь я пытаюсь разработать проект .NetFrameworkCore в VS 2017. У меня есть решение с двумя проектами
- Библиотека классов
- Основное приложение ASP .net
Я хотел создать миграцию, для которой я могу использовать enable-migrations
и add-migration InitialCreate
. До этого я настраивал свой проект в startUp.cs так:
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc();
//======================================Setting ConnectionString to Database
services.AddDbContext<EfDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DbCon")));
//services.AddCors();
//======================API Level and Function Level
services.AddCors(action => action.AddPolicy("PolicyName", //============Adding Policy which was Created in the api
builder => builder.WithOrigins("http://localhost:4200") //Adding access the URL for giving access to the URL(s)
.WithMethods("Get", "Post", "Put", "Delete")// Adding access to the method(s) for the request from the 'URL'
.AllowAnyHeader()));//Adding access to any headers from the 'URL'
}
Что совершенно нормально. У меня есть EfDbContext, как это:
public EfDbContext(DbContextOptions options) : base(options)
{
}
public DbSet<utblPhoto> utblPhotos { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
EfConfiguration(modelBuilder);
}
private static void EfConfiguration(ModelBuilder modelBuilder)
{
//**************************************Table Mapping
modelBuilder.Entity<utblPhoto>().ToTable("utblPhoto");
}
Мой utblPhoto
класс находится в ClassLibrary Project, где у меня вот так:
public class utblPhoto
{
[Key]
public int PhotoId { get; set; }
public string PhotoTitle { get; set; }
public string PhotoDescription { get; set; }
public string PhotoUrl { get; set; }
public DateTime CreatedDate { get; set; }
public DateTime UpdatedOn { get; set; }
public string UpdatedBy { get; set; }
}
Для ключевой аннотации я использовал System.ComponentModel.DataAnnotations
Это потому, что я не нашел System.Data.Entity.Core
. Компиляция решения работает нормально, но при создании миграции у меня возникает ошибка с указанием Could not load file or assembly 'System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The system cannot find the file specified.
Я думаю, есть две возможности
- Я использую основное приложение ASP.net, в котором у меня есть проект ClassLibrary, из-за которого у меня появляется указанная ошибка
- во время миграции ищет
System.Data.Entity.Core
для EF6
Как мне перенести EfDbClasses в SQL Server, используя Code First Migrations
.