我将实体框架与MVC 5(C#)一起使用。我与我的用户实体和帖子实体有一个关系oneToMany。我的用户可以包含很多帖子。
我有代码:
public User getUser(String login)
{
ProjectEntities db = new ProjectEntities();
var query = (from User in db.Users
where User.Login == login
select User);
if (query.Count() == 0)
return null;
return query.FirstOrDefault();
}
public function anotherMth() {
var user = auth.getUser(login);
ProjectEntities db = new ProjectEntities ();
Post p = db.Posts.OrderByDescending(c => c.ID).FirstOrDefault();
Post post = new Post() {
User = user,
ID = (null == p ? 0 : p.ID) + 1
};
user.Posts.Add(post);
db.Users.Attach(user);
db.Entry(user).Property(e => e.Posts).IsModified = true;
db.SaveChanges();
}
错误是:“IEntityChangeTracker的多个实例无法引用实体对象”
答案 0 :(得分:1)
获得用户后,您可以使用AsNoTracking扩展方法无需跟踪即可获得...