Linq to Sql を使用すると、「値 NULL を列 'ID' に挿入できません」という例外が発生し、ID プロパティを空白のままにしていますが、DBML ファイルで ID を自動生成するように設定しています。これは、ID なしで挿入し、linq を使用せずに SQL を自動生成する場合に正常に機能します。問題は、LINQ が単に SQL を通過させたとしても、ID が空であることを認識しているため、LINQ が例外をスローしていることです。
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL", IsPrimaryKey=true, IsDbGenerated=true)]
public int ID
{
get
{
return this._ID;
}
set
{
if ((this._ID != value))
{
this.OnIDChanging(value);
this.SendPropertyChanging();
this._ID = value;
this.SendPropertyChanged("ID");
this.OnIDChanged();
}
}
}