質問

単純なリポジトリを使用してレコードを単純に更新しようとするたびに、オブジェクトエラーのインスタンスに設定されていないオブジェクト参照を取得します。私は間違ったことをしているのではないかと思いますが、誰もがデータを亜音速に保存するためのコードの以下の行に問題を見ることができますか?

.NET 3.5、SQL Server 2008、およびSubsonic 3.0を使用しています。

助けてくれてありがとう。

        SimpleRepository repo = new SimpleRepository("Test", SimpleRepositoryOptions.RunMigrations);

        //Add the test object
        SimpleObject simple = new SimpleObject();
        simple.TestString = "Test";
        repo.Add(simple);

        Console.WriteLine(simple.TestString);

        //Reload the object and update it
        SimpleObject simpleReloaded = repo.Single<SimpleObject>(simple.ID);
        simpleReloaded.TestString = "Editted";
        repo.Update(simpleReloaded);//This line seems to crash repeatedly

        Console.WriteLine(repo.Single<SimpleObject>(simple.ID).TestString);
役に立ちましたか?

解決

私の推測では、何らかの理由で、あなたはライン上に新しいオブジェクトを取得しているということです。

SimpleObject simpleReloaded = repo.Single<SimpleObject>(simple.ID);

したがって、SimpleroAdedには主キーがないため、Subsonicが例外をスローしています。 simple.idの値をチェックしてから、SimpleReloadedが実際に入力されているかどうか、または新しいSimpleObjectを取得しているかどうかを確認してください

編集:これはバグのように見えます最新バージョンをから引き出してみてください github

他のヒント

ここで毎日のビルドを取得して、あなたの問題に対処します(Adamが上で言ったように):

http://github.com/subsonic/subsonic-3.0/tree/master

subsonic.core.dllを抽出するには、コンパイルする必要があります

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top