質問
私は、データベースのバックエンドでCRUD操作のために使用されるべきWCFデータサービスを構築したいです。データベース内のオブジェクトの関連レコードを識別するために、私はそれが主キーだ知っている必要があります。私は私のデータベーススキーマにサロゲートキーを使用します。
以降の呼び出しでは、データベース内のレコードを識別することが可能であるように、呼び出し側に代理キーを渡すことをお勧めますか?私は、代理キーは、通常、データベースの外部に使用すべきではないことを知っている(呼び出し元が、オブジェクトを取得し、呼び出し元が、オブジェクトを変更し、発信者がWCFの更新メソッドを呼び出します)。それは良いアイデアではない場合、私は他のどのような選択肢がありますか?
何かアドバイスが大幅にapreciatedされます。
解決
はい、あなたのソリューションは完全に十分です。これは、永続的なエンティティにCLRオブジェクトをマッピングするための最も簡単な方法です。 UIをプログラミングする際にまた、あなたのサービスの消費者は、ログ記録の目的などのために、便利なこのunqiueの識別子を見つけることができます。
私は迷わずこの道を行くと思います。
他のヒント
私はこのすべては、あなたが話しているデータの種類によって異なり思います。あなたは純粋なリソース、データ駆動型の話をしている場合は、サロゲートキーをさらすの問題はありません。これは、ビジネスデータである場合は、あなただけのビジネスキーを公開する必要があります。これは、ばらばらのシステムが一般的な方法で話をすることができます。
所属していません StackOverflow