c# - 使用 1 时出现问题 :M -> M:1 in Entity Framework

标签 c# entity-framework

我已经使用 MSSQL 设置了一个关系数据库,并且尝试使用 Entity Framework 与之通信,但遇到了一些问题。 (这是我的第一个 EF 项目)。

我可以使用以下方法在 Machines 表和 Contacts 表中插入数据:

_db.AddToMachines(new Machine { MachineModelId = 0, Owner = "Test", SerialNo = "34242341" });
_db.SaveChanges();

但是如何将联系人添加到机器中?

Small segment of the database

EF

最佳答案

您的Machines实体应该有一个名为Contacts的导航属性,反之亦然。只需将对象添加到这些属性即可。
示例:

var machine = new Machine { MachineModelId = 0, 
                            Owner = "Test", SerialNo = "34242341" };
var contact = new Contact { ... };
machine.Contacts.Add(contact);

_db.AddToMachines(machine);
_db.SaveChanges();

这应该在 Machines 表中插入一个新条目,在 Contacts 表中插入一个新条目,在 MachineContacts 表中插入一个新条目引用其他两个表中的新条目。

关于c# - 使用 1 时出现问题 :M -> M:1 in Entity Framework,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6609796/

相关文章:

c# - Entity Framework SaveChanges() 不更新数据库

vb.net - 将 AsNoTracking 与 EntityFramework 一起使用的问题

c# - Java 与 C# 和 .NET 之间的区别

c# - asp.net中的弹出窗口

c# - 在泛型上调用实例方法的委托(delegate)

c# - 'await Task.Delay(1000)' 会阻塞任何线程吗?

c# - 对于 Int32 值太大或太小

c# - 使用 Entity Framework 对十进制数进行缩放

c# - Entity Framework 连接字符串定义

c# - Entity Framework 可选 :optional relationship