问题:向我的dbcontext添加对象"Order"时,订单的所有嵌套对象都会"读取"到数据库,尽管嵌套对象是静态数据,并且只在数据库中添加了一个引用.
示例:数据库包含0个订单和3个项目.
我添加了一个包含2个项目的订单.
现在数据库包含1个订单和5个项目.订单中的两个项目已经"读取"到数据库中,即使这些项在db.SaveChanges()之前具有正确的主键.
我意识到我可以在保存更改之前将现有项附加到dbcontext,但这真的是唯一的方法吗?当主键与现有项匹配时,EF不能确定项已存在吗?
有没有人知道在新版本的EF CodeFirst中这是不同的?