Я хочу, чтобы вставить мастер-деталь со следующей структурой:Вставьте мастер-Detail с помощью LINQ
Каждая продажа имеет идентификатор, дата и клиента, сотрудника и SaleDetail. Каждая информация о продажах имеет количество штук и цену и, конечно, ссылку на ее владельца и какой продукт.
Я пробовал следующий код, но я не могу заставить его работать:
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, но я хотел узнать об этом.
Итак, где же происходит «venta»? – lexeRoy
Приношу свои извинения. Мой основной язык - испанский, поэтому большинство идентификаторов были на испанском языке. Я перевел их, но забыл последнюю часть. – Areks