누군가가 왜 내가이 삽입 메서드에서 NULL 예외가 발생하는지 설명 할 수 있습니까? 나는 때때로 혼란 스럽다.LINQ C# Null 예외
Cannot insert the value NULL into column 'FormatName', table 'GWportal.dbo.WebsiteOrderStatus'; column does not allow nulls. INSERT fails.
이 문이 종료되었습니다
테이블 주문 행 DataContext를 (하면 .dbml 파일)의 테이블 제품에 referemce
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();
}
}
예외 메시지가 있습니다.
이 코드에서 ProductFormatName을 찾는 데 문제가있는 제품을 조회 할 때. ProductFormatName의 값이 NULL이 아니며 예기치 못한 "PS3"값을 가지고 있습니다. 하나 널 (null)을 허용하지 않는이 coulmn이
ItemName = orderLine.Product.Name,
:이 불평하지 않는 이유
또 다른 이상한 일이다.
"insertNew"에있는 디버그를보십시오 – Likurg