У меня ошибка при использовании для обслуживания в одном действии.
невозможно отследить, поскольку другой экземпляр с таким же значением ключа для {'Id'} уже отслеживается. При присоединении существующих сущностей Рассмотрите возможность использования 'DbContextOptionsBuilder.EnableSensitiveDataLogging', чтобы увидеть конфликтующие значения ключа
dbcontext code
services.AddDbContext<DBDatacontext>(options =>
options.UseSqlServer(
Configuration.GetConnectionString("DefaultConnection")));
мой репозиторий
IEnumerable<Post> Gets();
bool Edit(Post model);
public IEnumerable<Post> Gets()
{
return _db.Posts;
}
public bool Edit(Post model)
{
try
{
_db.Entry(model).State = EntityState.Modified;
_db.SaveChanges();
return true;
}
catch (Exception ex)
{
return false;
}
}
и сервис
public IEnumerable<PostAdminVm> Gets()
{
var model = _repository.Gets();
return _mapper.Map<IEnumerable<Post>, IEnumerable<PostAdminVm>>(model);
}
public bool Edit(PostAdminVm model)
{
try
{
var post = _mapper.Map<PostAdminVm, Post>(model);
post.UDateTime = DateTime.Now;
if (_repository.Edit(post))
{
return true;
}
}
catch
{
return false;
}
return false;
}
и использовать метод 2 в контроллере
public ActionResult edit(PostAdminVm model1)
{
url = _post.Gets().Count() + 1;
if (_post.Edit(model1))
{
return RedirectToAction("Index");
}
}
, но у меня возникает ошибка, когда использование интерфейса 2 в 1 не может быть отслежено, поскольку другой экземпляр с тем же значением ключа для {'Id '} уже отслеживается.