数据插入问题找不到 Id
Issue with data insert not finding an Id
在我的项目中,我有一个报价系统。这以前有效,我已经对所涉及的一些事情进行了更改。更改是在不久前进行的,我只需要做一个报价,但在 QuoteDetail table.
中插入零件时失败了
错误是找不到 Eparts_ProductMasterId.
Eparts 是一个 SQL 视图,我没有将它插入其中,它是只读的。我正在从购物车中提取信息,但需要它从这个 table 中找到其他信息。据当地人说,我拥有我需要的一切,它所要做的就是将它插入 QuoteDetails
table.
此外,我没有将 ProductMasterId
插入 QuoteDetails
table。它在 db.SaveChanges();
上失败
在我开始 post 编写一堆代码之前,我会 post 失败的部分,如果您需要查看更多内容,我会 post 您需要的部分。我什至没有调用 ProductMasterId
并且 ProductMasterId
是 SQL 视图的一部分。
这是保存失败的部分。它通过 if
并进入 else
并且不是完整的部分。
foreach (var item in CartItems)
{
var part = db.ExtParts.Where(a => a.Material == item.Material).FirstOrDefault();
var type = db.Parts.Where(a => a.Material == item.Material).FirstOrDefault();
if ((type.Class == "MACH") || (type.Class == "PRL"))
{
QuoteDetail qd = new QuoteDetail
{
Material = item.Material,
QuoteId = quote.QuoteId,
Quantity = item.Count,
UnitPrice = part.MachinedPrice,
IsDelete = false,
CreatedBy = UserData.FirstName,
CreatedDate = System.DateTime.Now
};
db.QuoteDetail.Add(qd);
}
else
{
if (part.Complete != true)
{
QuoteDetail qd = new QuoteDetail
{
Material = item.Material,
QuoteId = quote.QuoteId,
Quantity = item.Count,
UnitPrice = part.SellingPrice,
IsDelete = false,
CreatedBy = UserData.FirstName,
CreatedDate = System.DateTime.Now
};
db.QuoteDetail.Add(qd);
}
else
{
QuoteDetail qd = new QuoteDetail
{
Material = item.Material,
QuoteId = quote.QuoteId,
Quantity = item.Count,
UnitPrice = part.LastCost,
IsDelete = false,
CreatedBy = UserData.FirstName,
CreatedDate = System.DateTime.Now
};
db.QuoteDetail.Add(qd);
}
}
db.SaveChanges();
}
我在发布之前遇到过这个问题
public ExtParts EParts { get; set; }
在另一个模型中,但这解决了这个问题
public virtual ExtParts EParts { get; set; }
这在 OrderDetails
模型中,还是我遗漏了什么?
如有任何帮助,我们将不胜感激。
更新:
我再次查看了我的代码,发现我在模型中添加了 public virtual ExtParts EParts { get; set; }
并且不需要它。我已经在 ViewModel 中拥有它,因此在实际模型中不需要它。该模型用于保存记录,当它查看 SQL 视图时出现故障。不会对模型中的其他模型出错,但它们也不是 SQL 视图,它们是其他相关模型。
已移除
public virtual ExtParts EParts { get; set; }
来自模特。它已经在 ViewModel 中,因此模型本身不需要它。保存和使用模型时,我猜不允许使用 SQL 视图。您不能保存到 SQL 视图,它仅供查看。我的错误,我不确定我何时以及为何将它添加到模型中。删除它并没有破坏任何代码。
在我的项目中,我有一个报价系统。这以前有效,我已经对所涉及的一些事情进行了更改。更改是在不久前进行的,我只需要做一个报价,但在 QuoteDetail table.
中插入零件时失败了错误是找不到 Eparts_ProductMasterId.
Eparts 是一个 SQL 视图,我没有将它插入其中,它是只读的。我正在从购物车中提取信息,但需要它从这个 table 中找到其他信息。据当地人说,我拥有我需要的一切,它所要做的就是将它插入 QuoteDetails
table.
此外,我没有将 ProductMasterId
插入 QuoteDetails
table。它在 db.SaveChanges();
在我开始 post 编写一堆代码之前,我会 post 失败的部分,如果您需要查看更多内容,我会 post 您需要的部分。我什至没有调用 ProductMasterId
并且 ProductMasterId
是 SQL 视图的一部分。
这是保存失败的部分。它通过 if
并进入 else
并且不是完整的部分。
foreach (var item in CartItems)
{
var part = db.ExtParts.Where(a => a.Material == item.Material).FirstOrDefault();
var type = db.Parts.Where(a => a.Material == item.Material).FirstOrDefault();
if ((type.Class == "MACH") || (type.Class == "PRL"))
{
QuoteDetail qd = new QuoteDetail
{
Material = item.Material,
QuoteId = quote.QuoteId,
Quantity = item.Count,
UnitPrice = part.MachinedPrice,
IsDelete = false,
CreatedBy = UserData.FirstName,
CreatedDate = System.DateTime.Now
};
db.QuoteDetail.Add(qd);
}
else
{
if (part.Complete != true)
{
QuoteDetail qd = new QuoteDetail
{
Material = item.Material,
QuoteId = quote.QuoteId,
Quantity = item.Count,
UnitPrice = part.SellingPrice,
IsDelete = false,
CreatedBy = UserData.FirstName,
CreatedDate = System.DateTime.Now
};
db.QuoteDetail.Add(qd);
}
else
{
QuoteDetail qd = new QuoteDetail
{
Material = item.Material,
QuoteId = quote.QuoteId,
Quantity = item.Count,
UnitPrice = part.LastCost,
IsDelete = false,
CreatedBy = UserData.FirstName,
CreatedDate = System.DateTime.Now
};
db.QuoteDetail.Add(qd);
}
}
db.SaveChanges();
}
我在发布之前遇到过这个问题
public ExtParts EParts { get; set; }
在另一个模型中,但这解决了这个问题
public virtual ExtParts EParts { get; set; }
这在 OrderDetails
模型中,还是我遗漏了什么?
如有任何帮助,我们将不胜感激。
更新:
我再次查看了我的代码,发现我在模型中添加了 public virtual ExtParts EParts { get; set; }
并且不需要它。我已经在 ViewModel 中拥有它,因此在实际模型中不需要它。该模型用于保存记录,当它查看 SQL 视图时出现故障。不会对模型中的其他模型出错,但它们也不是 SQL 视图,它们是其他相关模型。
已移除
public virtual ExtParts EParts { get; set; }
来自模特。它已经在 ViewModel 中,因此模型本身不需要它。保存和使用模型时,我猜不允许使用 SQL 视图。您不能保存到 SQL 视图,它仅供查看。我的错误,我不确定我何时以及为何将它添加到模型中。删除它并没有破坏任何代码。