任何人都可以解釋爲什麼我有時得到一個NULL插入方法的異常?如上所述只是有時候,這對我來說更令人困惑。LINQ C#空異常
表訂單行具有referemce在的datacontext(.dbml文件)表產品
public void insertNewOrder(string accountNumber, int orderId)
{
var order = orderRep.GetOrderById(orderId);
var orderlineData = orderLineRep.GetOrderLines(order.OrderID);
foreach (var orderLine in orderlineData)
{
int currentStatus = dlvRep.getAxOrderStatusNumber(orderLine.ItemNumber, 0);
string levering = "";
string status = dlvRep.getAxOrderStatus(orderLine.ItemNumber, currentStatus, out levering);
WebsiteOrderStatus insertNew = new WebsiteOrderStatus
{
AccountNumber = accountNumber,
OrderID = orderId,
ItemNumber = orderLine.ItemNumber,
ItemName = orderLine.Product.Name,
FormatName = orderLine.Product.ProductFormatName,
Quantity = orderLine.Quantity,
Price = orderLine.Price,
Status = status,
Levering = levering,
LastUpdatedStatus = currentStatus,
CreatedDate = DateTime.Now
};
db.WebsiteOrderStatus.InsertOnSubmit(insertNew);
db.SubmitChanges();
}
}
異常消息:
Cannot insert the value NULL into column 'FormatName', table 'GWportal.dbo.WebsiteOrderStatus'; column does not allow nulls. INSERT fails.
該語句已終止。
當我查找此代碼無法找到ProductFormatName的產品時。 ProductFormatName的值不是NULL,它的值如我所期望的那樣:「PS3」。
另一個奇怪的是,爲什麼不是在抱怨:
ItemName = orderLine.Product.Name,
這coulmn不允許空值無論是。
看看你在調試「insertNew」 – Likurg 2012-04-28 13:18:49