3

多くの人がこの問題を抱えていると思いますが、私はそれを修正することも、なぜ私がそれを抱えているのか理解することもできません. 私は今、数時間髪を引き裂いています。

「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが表示されます。私の datacontext.SubmitChanges() で、このメソッドが 2 回目に実行されます (一連の ObjectName 文字列をループしています)。

    private Object CreateObject(string ObjectName, SystemClassEnum SystemClass)
    {
        Object result = new Object();
        result.Name = ObjectName;
        result.SystemClassID = (int)SystemClass;
        _dataContext.Objects.InsertOnSubmit(result);
        _dataContext.SubmitChanges();
        return result;
    }

result.Name 値が null になる可能性があるためだと思いましたが、もうそうは思いません。

どういうわけかdataContextが閉じられているようですか?しかし、デバッグモードで接続のステータスを確認すると、エラーが発生した後に「オープン」になります。

リポジトリ パターンと ASP.NET MVC を使用しています。

結果オブジェクト (new Object()) は、LINQ DBML 自動生成クラスのインスタンスであり、単一の拡張メソッドをアタッチして作成した部分クラスも含まれています。クラスの拡張がどのように問題を引き起こしているのかわかりません。

私はアイデアがありません。

何かご意見は?あなたが提供できる助けをありがとう!!

よろしくお願いします、

エリック

4

1 に答える 1

2

あなたのタイプのいずれかを呼び出さないでくださいObject- それは非常に悪い考えです。あなたはそれを後悔するでしょう...別の名前を選んでください...(またはSystem、など)。

エラーが実際に上記の行 (_dataContext.Objects.など) にないことを確認しますか? 残念ながら、に関連するコードは表示されず_dataContext(たとえば、 になった可能性がnullあります)、(たとえば)partialデータ コンテキストまたはエンティティにメソッドを追加したかどうか、またはイベント。問題はそれらの領域のいずれかにあると思います。

于 2009-10-07T06:23:14.350 に答える