私はこのコードを持っています:
using DC = MV6DataContext;
using MV6; // Business Logic Layer
// ...
public DC.MV6DataContext dc = new DC.MV6DataContext(ConnectionString);
IP ip = new IP(Request.UserHostAddress);
dc.IPs.InsertOnSubmit(ip);
dc.SubmitChanges();
// in Business Logic layer:
public class IP : DC.IP {
public IP(string address) { ... }
}
InsertOnSubmit(ip) を試行すると、NullReferenceException (オブジェクト参照がオブジェクトのインスタンスに設定されていません) が発生します。dc は null ではありません。ip および ip のすべてのプロパティは null ではありません。一部は空ですが。
VS2008 では InsertOnSubmit にステップ インさせてくれないので、評価時に具体的に何が null かを知る方法がありません。何を与える?
注: チェックしたところ、FK リレーションシップによって作成されたすべての Linq.EntitySets が存在し、null ではありません。