我遇到了多对多关系的问题。
我有3个模型类:
使用Entity Framework Core,我编写了这3个类,它们工作正常
public class Item
{
public int Id { get; set; }
public string Content { get; set; }
public virtual ICollection<ItemKeyWords> ItemKeyWords { get; set; }
}
public class KeyWord
{
public int Id { get; set }
public string Text { get; set; }
public virtual ICollection<ItemKeyWords> ItemKeyWords { get; set; }
}
public class ItemKeyWords
{
public int Id { get; set; }
public int ItemId { get; set; }
public virtual Item Item { get; set; }
public int KeyWordId { get; set; }
public virtual KeyWord KeyWord { get; set; }
}
问题是:如果Keyword
存在,我怎么能告诉实体框架不要将它放在关键字表中,只是在ItemKeywords表中创建一个关系。
答案 0 :(得分:0)
在向KeyWord
添加Item.ItemKeyWords
之前,您必须尝试从context.Set<KeyWord>()
加载它。
如果加载结果为null,则实际执行。
如果load!= null,则添加加载的值。