質問は基本的に、Entity Frameworkがこのスタイルのキー生成をサポートできるかどうかについてであり、質問の2番目の部分は、RIAサービスがそれとOKを統合するかどうかです。
NHibernateで利用できるさまざまなキー生成戦略を思い出します。
これが、EFが「箱から出してすぐに」NHibernateのような完全なサポートを持っていないことを示唆する答えです。
残念ながら、EFにはNHibernateのようにPOIDジェネレーターに非常に近いものはありませんが、EFの次のリリースに同様の機能が含まれるという噂を聞いています。
EntityFrameworkのHiLOから
この回答は、RIAサービスでの保存(具体的には挿入)をインターセプトし、SPROCを呼び出して新しいIDを取得するのはそれほど難しいことではないことを示唆しています。
レコードを保存する前に、ストアドプロシージャを呼び出して値を取得するだけで済みます[これをに入れることができます]、コンテキストでオーバーライドされたSaveChanges()
Entity Framework 4.1コードファーストで主キーを手動で生成するための最良の方法については、https://stackoverflow.com/a/5924487/5351を参照してください。
と同様の答えはここにあります... https://stackoverflow.com/a/5277642/5351
EFを使用してHiLoジェネレーター(より堅牢なkey genパターン)を実装する可能性に関するいくつかの調査結果を次に示します。
Hi / Loパターンは、データベースではなくクライアント側でセーフIDを生成するためのメカニズムを記述します。この文脈で安全とは、衝突がないことを意味します。このパターンは、次の3つの理由で興味深いものです。
- 作業単位のパターンを壊すことはありません(このリンクと他のリンクを確認してください)
- 他のDBMSのシーケンスジェネレーターのように、多くのラウンドトリップは必要ありません。
- GUID手法とは異なり、人間が読める形式の識別子を生成します。
http://joseoncode.com/2011/03/23/hilo-for-entityframework/から