2012-11-22 8 views
5

私のデータプライマリキー(コンポジット)の性質上、一意性違反は頻繁に会うことです。そのような場合、違反しているレコード(新しいレコード)は(古いレコードをそのままのキーで残して)静かに破棄し、他のレコードを挿入させます。Entity FrameworkでクロスDBMS挿入無視を実装する方法は?

たとえば、INSERTの代わりにINSERT IGNOREを使用すると、MySQLを簡単に実行できます。しかし、私のアプリケーションはクロスデータベースでなければなりません。

この動作を実装する最も良い方法は何ですか?

+0

関連:http://stackoverflow.com/questions/2760508/insert-ignore-in-ms-sql-server-2005 –

+1

特別なロジックが必要な場合は、作成操作をストアドプロシージャにマップすることができます。 – Pawel

答えて

0

あなたの質問にentity-frameworkという名前を付けましたので、異なるデータベースと同じように、多くのモデルを作成してみることをおすすめします。その後、LINQを使用してINSERT IGNOREを実行すると、簡単になります。

注:LINQ-to-SQLは一括挿入をサポートしていないため、各モデルでパラメータ化されたSQLを使用できます。

関連する問題