我想插入一个具有以下结构的主从细节:
每个销售都有一个 ID、日期和一个客户、员工和销售细节。每个销售明细都有一个件数和价格,当然还有对它的主人和产品的参考。
我尝试了以下代码,但我无法让它工作:
private void GenerarNota()
{
EntityCollection<SalesDetail> details = new EntityCollection<SalesDetail>();
foreach (ListItem item in _productList)
{
SalesDetail detail = new SalesDetail();
detail.Product = db.Product.FirstOrDefault(p => p.Id == item.Id);
detail.Pieces = item.Pieces;
detail.Price = item.Price;
details.Add(detail);
}
Sale sale = new Sale
{
Client = (Client )txtCliente.Item,
Employee = (Employee )txtEmp.Item,
SalesDetail = details
};
db.AddToSale(sale);
db.SaveChanges();
}
我得到的例外:
无法将该对象添加到 EntityCollection 或 EntityReference。无法将附加到 ObjectContext 的对象添加到不与源对象关联的 EntityCollection 或 EntityReference。
难道我做错了什么?我阅读了有关附加和分离对象的信息,但在我尝试之后,我遇到了 FK 约束违规。
你能告诉我我做错了什么还是另一种方法?我是 LINQ 的新手,我可以用纯 SQL 完美地做到这一点,但我想了解它。