после тщательного изучения решения этой странной проблемы, которая у меня есть и ничего не сделала. Я в значительной степени отчаялся.Объекты базы данных MVC3 не инициализируются, как ожидалось,
Я работаю над проектом MVC3.
У меня есть класс DB Контекст как это:
//SpaceUpEntities.cs
public class SpaceUpEntities: DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<Profile> Profiles { get; set; }
public DbSet<Venue> Venues { get; set; }
public DbSet<Room> Rooms { get; set; }
public DbSet<Category> Categories { get; set; }
public DbSet<Event> Events { get; set; }
public DbSet<Capacity> Capacities { get; set; }
public DbSet<VenueStatus> VenueStatuses { get; set; }
}
и я инициализировать DbContext при запуске приложения
//Global.asax.cs
protected void Application_Start()
{
Database.SetInitializer<SpaceUpEntities>(null);
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
RegisterDependencyInjection();
ModelBinders.Binders.DefaultBinder = new TrimModelBinder();
}
Проблема возникает, когда я хочу, чтобы запросить/Insert/Update в БД. Например, этот фрагмент кода
//SecurityRepository.cs
public RegisterFeedback Register(User user, Profile profile)
{
try
{
using (var entities = new SpaceUpEntities())
{
// Check existing email address
var emailExisted = entities.Users.FirstOrDefault(i => i.Email == user.Email);
//... So on
}
}
catch (Exception e)
{
Logger.Error(e);
return new RegisterFeedback(false, Messages.GeneralError);
}
}
После using (var entities = new SpaceUpEntities())
организации должны были инициализированы, но я закончил с этой ошибкой
Сообщение об ошибке:
Функция оценки отключена, потому что предыдущая функция оценка срок поставки. Вы должны продолжить выполнение функции повторного использования .
Первоначально я думал, что это была проблема с подключением к серверу, так что я проверил:
- ConnectionString установка
- SQL Server (SQL Server 2012)
Хотя я могу вряд ли можно понять, почему они являются причиной этой проблемы, так как я принял серверные методы для проверки моего ConnectionString, чтобы найти, что у него нет проблем.
Любая помощь, безусловно, будет оценена. Спасибо заранее.
Thang Do
P/S: это, как я проверил мое подключение строку: Это моя строка соединения Я тестировал его с этим
Можете ли вы подтвердить, что ваши таблицы были созданы в базе данных и были засеяны данными? – markpsmith
Таблица определенно создана. есть образцы данных в db. –
Непонятно из вашего скриншота, что это за ошибка, но выполнив 'Database.SetInitializer (null);' вы отключите инициализатор базы данных. –