C#与OneToMany关系的实体框架

时间:2014-11-27 21:11:38

标签: c# entity-framework

我将实体框架与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的多个实例无法引用实体对象”

1 个答案:

答案 0 :(得分:1)

获得用户后,您可以使用AsNoTracking扩展方法无需跟踪即可获得...

http://msdn.microsoft.com/en-gb/data/jj556203.aspx