1

プロジェクトの 1 つで、DbFirst EntityFramework を使用しています。

そして、すべてのエンティティはObjectContext.AddObject(string, object)メソッドによってデータベースに追加されています。

これらの呼び出しをObjectSet<TEntity>.AddObject(TEntity)メソッド呼び出しで変更したいと考えています。したがって、メソッドの強く型付けされたバージョンがあります。

var person = new Person();
e.AddObject("Persons", person);

var person = new Person();
e.Persons.AddObject(person);

このような交換で問題が発生する可能性はありますか?

4

1 に答える 1

1

いいえ、この交換に問題はありません。私は、前者、つまり、問題があるとさえ主張します。コンパイル時のチェックを行わない文字列パラメータ (これがおそらく、これを変更したい理由です)。

現在の EF ソースは、ボンネットの下ではObjectSet.AddObject実行するだけであることを示していObjectContext.AddObject(string, object)ます。文字列引数は、EF 自体によって安全に提供されます。

EF 4 のソースは公開されていませんが、根本的に異なると考える理由はありません。

于 2013-09-05T09:15:03.520 に答える