这是情况。我创建了 1 个对象(一个产品),然后通过我的数据库上下文保存它。然后我从数据库中加载该产品并将它们放入另一个对象(下载)并保存该对象。EF 然后为加载的原始产品创建另一个数据库条目。所以现在我在数据库中有两个相同的产品。这是否按预期工作?我认为 EF 会跟踪从数据库加载的对象,以防止出现此类情况。
好的,如果你真的想要的话,这里有一个产品的随机代码。
product product1 = new product{blah blah blah};
context.Products.add(product1);
context.savechanges();
var prod1 = context.Products.Where(x => x.Id == 1).FirstOrDefault();
user = new User { new Download {product = (product)prod1}};
context.Users.add(user);
context.save(user);