实体框架代码优先:违反了多重约束

时间:2014-04-28 00:46:26

标签: c# entity-framework entity-framework-5

我知道这个问题已被多次询问,但是当将对象添加到另一个对象的集合时,没有一个答案足够清楚地理解实体出了什么问题。

我使用代码优先方法启动实体。这是我的代码:

        var user1 = new User("user1");
        var user2 = new User("user2");

        context.Users.Add(user1);
        context.Users.Add(user2);

        // Followers
        user1.Followers.Add(_followerAccessor.CreateFollower(user2));
        context.SaveChanges(); // EXCEPTION HAPPENS HERE

public class Follower
{
    public long Id { get; set; }
    public virtual User User { get; set; }
    public virtual Permission FollowerPermissions { get; set; } 
}

public class User
{
    public User()
    {
        Events = new List<Event>();
        Followers = new List<Follower>();
    }

    public long Id { get; set; }
    public string Name { get; set; }

    // One to Many
    public virtual ICollection<Follower> Followers { get; set; }
}

public class Permission
{
    public long Id { get; set; }
    public bool CanDoSmthg { get; set; }
}

非常感谢任何帮助。

0 个答案:

没有答案