将数据插入/更新到多对多实体框架.我该怎么做? [英] Insert/Update data to Many to Many Entity Framework . How do I do it?

查看:34
本文介绍了将数据插入/更新到多对多实体框架.我该怎么做?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的上下文是 =>

通过实体框架代码 1st 使用此模型,数据库中的数据表变为 =>

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

1) 用户表

2) 角色表

3) UserRole Table - 自动创建的新链接表

3) UserRole Table - A new linked table created automatically

用户模型 =>

角色模型 =>

我的 O Data 查询为单个用户/角色表插入记录正常工作

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

现在,当我想向 UserRole 表插入记录时,我应该写什么查询

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

有人有意见吗

推荐答案

// 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();

或者

await metadataManagentClient.SaveChangesAsync();

您可能还想设置 ID.但请注意 new Guid(),因为它会生成一个空的 guid.您可能想要的(如果您不使用 IDENTITY)是 Guid.NewGuid().

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().

这篇关于将数据插入/更新到多对多实体框架.我该怎么做?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆