私は非常に助けが必要です。プロジェクトに費やす時間は 1 時間もありません。Linq to SQL データ レイヤーがあり、次のコードを使用して DB に単純な挿入を行っています。
using (var odc = new OrdersDataContext())
{
try
{
var id = GetNextOrderId(odc);
order.ID = id;
odc.tblOrders.InsertOnSubmit(order);
odc.SubmitChanges();
}
catch (Exception ex)
{
Logger.LogException(ex);
}
}
他のレガシー コードと、これが SQL 2000 で実行されているデータベースであるため、データベースを変更することはできませんが、このコードはある時点で正常に機能していましたが、その後単に機能しなくなりました。それは言っている:
値 NULL を列 'ID'、テーブル 'Order' に挿入できません。列はヌルを許可しません。INSERT は失敗します。
しかし、コードからわかるように、コードをステップ実行すると明確にわかるように、ID 列は有効な ID 番号を取得しています。何らかの理由で、ID フィールドを設定しているにもかかわらず、このコードが以前は正常に機能していたにもかかわらず、それを null として挿入しようとしています。データベースを完全に復元し、データ層を再構築するところまで行きましたが、役に立ちませんでした。
私はこれにとても困惑していて、時間がないので我を忘れています。