Я здесь новичок (и все еще начинающий программист), извините, если я спрашиваю неправильно или глупо ... Я пытаюсь пройтись по книге Троелсена Pro C # 7 с .NET и .NET Core, но язастрял в начале главы 29. Основная цель - создать решение ASP.NET MVC (названное CarLotMVC).Как было сказано в книге, я создал проект ASP, а затем пытаюсь вставить два других проекта (AutoLotDAL и AutoLotDAL.Models).Я делаю так, как написано в книге, но когда я пытаюсь добавить новый контроллер в проект ASP, я не вижу контекст, а вижу только классы моделей проектов ASP.Я загрузил исходный код, добавил в решение проекты AutoLotDAL и AutoLotDAL.Models, изменил строки подключения, пространства имен, но по-прежнему не вижу контекст или классы модели.
Строительные лесаменю - отсутствующие модели
Что может быть не так?В проекте AutoLotDAL есть классы миграции, я пытался удалить базу данных и создать заново, но это не помогло.Попробуйте запустить Visual Studio с администратором, очистить решение и собрать заново.Я видел только один раз контекст, в решении было несколько ошибок, VS создал класс Controller без моей помощи, но когда я открыл его позже, решение исчезло.
это контекст:
public partial class AutoLotEntities : DbContext
{
public AutoLotEntities()
: base("name=AutoLot")
{
}
protected override void Dispose(bool disposing)
{
}
private void OnSavingChanges(object sender, EventArgs eventArgs)
{
var context = sender as ObjectContext;
if (context == null) return;
foreach (ObjectStateEntry item in
context.ObjectStateManager.GetObjectStateEntries(EntityState.Modified | EntityState.Added))
{
if ((item.Entity as Inventory) != null)
{
var entity = (Inventory)item.Entity;
if (entity.Color == "Red")
{
item.RejectPropertyChanges(nameof(entity.Color));
}
}
}
}
private void OnObjectMaterialized(object sender, ObjectMaterializedEventArgs e)
{
}
public virtual DbSet<CreditRisk> CreditRisks { get; set; }
public virtual DbSet<Customer> Customers { get; set; }
public virtual DbSet<Inventory> Cars { get; set; }
public virtual DbSet<Order> Orders { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Inventory>()
.HasMany(e => e.Orders)
.WithRequired(e => e.Car)
.WillCascadeOnDelete(false);
}
}
Это строка подключения:
<connectionStrings> <add name="AutoLot" connectionString="data source=(local)\SQLEXPRESS;initial catalog=AutoLot;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" /> </connectionStrings>
Я использую VS Community 2017, .NET Framework 4.6.1, EF 6.2.0, обновил все пакеты NuGet.Но все еще не могу воспроизвести решение в книге ... Пожалуйста, помогите.
Список литературы: Ветвь литературы