C# 如何将TablexId和TableyId添加到关系表(显示为实体框架上的导航属性)?

C# 如何将TablexId和TableyId添加到关系表(显示为实体框架上的导航属性)?,c#,asp.net-mvc,ado.net,C#,Asp.net Mvc,Ado.net,我有一个标签表和一个对象表 它们之间关系的记录通过ObjectTags表保存,该表有两列。这些列存储ObjectId和TagId(来自标记和对象表),它们都构成一个复合键(不能有两个TagId和ObjectId) 在实体框架中,此表不作为对象映射,而是在主表之间启用“导航”。这很酷,但我如何添加到这个表中?最好的方法是什么 我添加了一个对象,现在我得到了它的ObjectId。我还添加了新的标记(重用已有的标记)并获取它们的TagId。现在我应该将ObjectId和TagId添加到此关系表中。。。

我有一个标签表和一个对象表

它们之间关系的记录通过ObjectTags表保存,该表有两列。这些列存储ObjectId和TagId(来自标记和对象表),它们都构成一个复合键(不能有两个TagId和ObjectId)

在实体框架中,此表不作为对象映射,而是在主表之间启用“导航”。这很酷,但我如何添加到这个表中?最好的方法是什么


我添加了一个对象,现在我得到了它的ObjectId。我还添加了新的标记(重用已有的标记)并获取它们的TagId。现在我应该将ObjectId和TagId添加到此关系表中。。。但是怎么做呢?

我不得不用这样的方法:

db.Items.Where(id => id.Id == newItem.Id).First().Tags.Add(newTag);
这意味着。在“Items”表中的“db”中,其中“Item Id是我正在查找的”,选择它,然后通过导航属性转到“Tags”表并添加“new Tag”

这样做会用新ID更新关系的ItemTags表


:)

您是指Linq2Sql还是实体框架?Ado.net不负责映射.Entity Framework。。。当您拥有这个“种类”o关系表时,它可以帮助您缩小范围,并使用对标记的查询来选择一些对象。