1

这是情况。我创建了 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);
4

1 回答 1

0

这是一个例子:

var prod = context.Products.SingleOrDefault(p => p.Id == 1);
User user = context.Users.Create();
user.Product = prod;
context.Users.Add(user);
context.SaveChanges();

或者更容易...

User user = context.Users.Create();
user.ProductId = productId;
context.Users.Add(user);
context.SaveChanges();
于 2013-10-18T00:42:02.897 回答