1
我在ASP.NET MVC4應用程序中使用EF5 codefirst。我有產品和合作夥伴,並且可以將許多合作伙伴分配給產品。實體框架基礎知識
在產品實體中我有這樣的: public ICollection Partners {get;組; }
而在合作伙伴實體中,我有這樣的: public ICollection Product {get;組; }
因此,在我的sql服務器中,一個PartnerProducts多2多表是由代碼首先創建的。
我再有這樣的操作方法:
public ActionResult AssignPartner(long productId, long partnerId) {
var product = productRepository.Find(productId);
var partner = partnerRepository.Find(partnerId);
if (product.Partners == null) {
product.Partners = new List<Partner>();
}
product.Partners.Add(partner);
productRepository.Save();
return RedirectToAction("Edit", new{ Id = productId });
}
但結果是,這兩個新的PartnerProducts行創建(OK),也是一個新的合作伙伴在合作伙伴表中創建?不知怎的,英孚必須認爲我添加的合作伙伴是新記錄?
我在這裏錯過了什麼?