如何在实体框架中绑定Product和Item?
我已经绑定到班级,但没有绑定到另一个班级。我无法从项目调用产品:对象引用未设置为对象的实例。
怎么了?
如何优化这段代码?
foreach (var xd in excelData)
{
Product p = new Product {
Name = xd.ProductName,
};
ctx.Products.Add(p);
ctx.SaveChanges();
Item t = new Item {
Product=p,
};
t.ProductId = t.Product.ProductId;
ctx.Items.Add(t);
ctx.SaveChanges();
t.Product = ctx.Products.Where(c => c.ProductId == t.ProductId).FirstOrDefault();
ctx.SaveChanges();
}
I have binding into the class, but not in another. I can`t call Product from Item: Object reference not set to an instance of an object.
Whats wrong?
How optimize this code?
foreach (var xd in excelData)
{
Product p = new Product {
Name = xd.ProductName,
};
ctx.Products.Add(p);
ctx.SaveChanges();
Item t = new Item {
Product=p,
};
t.ProductId = t.Product.ProductId;
ctx.Items.Add(t);
ctx.SaveChanges();
t.Product = ctx.Products.Where(c => c.ProductId == t.ProductId).FirstOrDefault();
ctx.SaveChanges();
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
假设您的
ProducId
和 ItemId是自动生成的,您可以通过一次调用
SaveChanges` 来编写此内容,如下所示Assuming your
ProducId
and ItemIdare auto generated you can write this with a single call to
SaveChanges` as followsObjectQuery.include 方法。指定要包含在查询结果中的相关对象。
ObjectQuery.Include Method. Specifies the related objects to include in the query results.