Jake Rote
Jake Rote

Reputation: 2247

Entity Framework many to many to single object

I am trying to map a property on a user that that has a many to many relationship in the database but there is only ever one per user. But I am unable to figure out the required map in entityframework. I have the following entities:

public class User
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }

    //Need to map this property
    public virtual SecurityRole SecurityRole { get; set; }
}

public class SecurityRole
{
    public int Id { get; set; }
    public string Name { get; set; }
}

An the following tables:

User:
    Id
    FirstName
    LastName
SecurityRole:
    Id
    Name
UserSecurityRole:
    UserId
    SecurityRoleId

If anyone has any idea or could point me in the right direction that would be great

Upvotes: 3

Views: 91

Answers (1)

Marc
Marc

Reputation: 3959

Even if there is only one record in the database, if you have a many to many relationship between User and SecurityRole it should work like this:

public class User
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }

    public List<SecurityRole> SecurityRoles { get; set; }
}

public class SecurityRole
{
    public int Id { get; set; }
    public string Name { get; set; }

    public List<User> Users { get; set; }
}

Upvotes: 1

Related Questions