это мой класс, чтобы набрать зарегистрированного пользователя , когда я получаю эту ошибку, но могу понять это при поиске ошибки. Я не получаю никаких идей.my класс модели имеет свойство общественного виртуальный пользователь User {получить, установить;}Объект сущности не может ссылаться на несколько экземпляров IEntityChangeTracker «
public static class Auth
{
private const string UserKey = "BlogwithEf.Auth.UserKey";
public static User User {
get
{
if (!HttpContext.Current.User.Identity.IsAuthenticated)
return null;
var user = HttpContext.Current.Items[UserKey] as User;
if (user == null)
{
var db= new Database();
user = db.Users.FirstOrDefault(u => u.Username == HttpContext.Current.User.Identity.Name);
if (user == null)
return null;
HttpContext.Current.Items[UserKey] = user;
}
return user;
}
}
}
это мой код контроллера
[HttpPost,ValidateAntiForgeryToken]
public ActionResult New(PostsNew form)
{
if (!ModelState.IsValid)
return View(form);
var post = new Post
{
User = Auth.User,
CreatedAt=DateTime.UtcNow,
Title = form.Title,
Slug = form.Slug,
Content = form.Content
};
//Error is here
Database.Posts.Add(post);
Database.SaveChanges();
return RedirectToAction("Index");
}
Большое спасибо за то, что вы делитесь своим драгоценным временем ... –