У меня возникла проблема при обновлении базы данных с использованием структуры сущности. m_entities набор был изменен, когда метод Update (T х) называется, но SaveChanges() возврата 0. Я имел отлаживать и состояние сущности еще неизменным. Это мой класс репозитория.Не удается обновить объект, используя расширение DbSet
public class Repository<T> : IRepository<T> where T : class
{
private readonly IApplicationDbContext m_context;
internal IDbSet<T> m_entities;
public Repository(IApplicationDbContext m_context)
{
this.m_context = m_context;
this.m_entities = this.m_context.Set<T>();
}
public void Update(T x)
{
this.m_entities.AddOrUpdate(x);
}
public void SaveChanges()
{
this.m_context.SaveChanges();
}
}
DbContext класс
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>, IApplicationDbContext
{
public ApplicationDbContext()
: base("name=DefaultConnection")
{
this.Configuration.AutoDetectChangesEnabled = false;
this.Configuration.ValidateOnSaveEnabled = false;
}
}
и строка соединения.
<connectionStrings>
<!--<add providerName="System.Data.SqlClient" name="DefaultConnection" connectionString="Data Source=LWCGRGTG75SJU9M; Initial Catalog=HPDB; MultipleActiveResultSets=true; Integrated Security=False; User Id=sa; Password=123456"/>-->
, потому что 'this.Configuration.AutoDetectChangesEnabled' устанавливается в ложь; – Johan