Insert/Update data to Many to Many Entity Framewor

2019-04-15 08:54发布

问题:

My context is =>

Using this model via Entity Framework code 1st, data table in database becomes =>

1) User Table

2) Role Table

3) UserRole Table - A new linked table created automatically

Model for User is =>

Model for Role is =>

and my O Data query for inserting record for single User/Role table working properly

Now, what query should I write, when I want to Insert record to UserRole table

can someone have any idea

回答1:

// Fetch the user.
var user = await metadataManagentClient.For<User>().FirstOrDefaultAsync(x => x.Name == "Test");


// If you want to add a new role.
var newRole = new Role()
{
    Name = "My new role"
};
user.Roles.Add(newRole); // Adds new role to user.

// If you want to add an existing role
var existingRole = await metadataManagentClient.For<Role>().FirstOrDefaultAsync(x => x.Name == "My Existing Role");
user.Roles.Add(existingRole); // Adds existing role to user.

// Save changes.
metadataManagentClient.SaveChanges();

Or

await metadataManagentClient.SaveChangesAsync();

You might want to set ID as well. But watch out for new Guid() since it generates an empty guid. What you probably want (if you're not using IDENTITY) is Guid.NewGuid().