私はソフト削除機能を実装しようとしています。ほとんどすべてのテーブルにDeletedAtフィールドがあります。私の問題は今、この機能がWeb API
にネイティブではないので、私はすべてのクエリにDeletedAt == null
のwhere節を入れなければならないでしょう。私の質問は、どこにこの句をWeb APIに入れるか、あるいはSQL Serverからも可能であるかどうかを指定する方法ですか?C#Web APIとSQL server global where節
答えて
あなたがEntity Frameworkを使用していることを希望します。あなたが好きな弁別を追加することにより、OnModelCreatingイベントでグローバルフィルタを追加することができます。
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Foo>().Map(m => m.Requires("DeletedAt").HasValue(false));
modelBuilder.Entity<Bar>().Map(m => m.Requires("DeletedAt").HasValue(false));
}
OR
あなたは、このパッケージを使用することができます。https://github.com/zzzprojects/EntityFramework.DynamicFilters
はい私はEFを使用していますが、後で試してみます。 – Jed
あなたの答えを試してみてください。移行などを更新する必要はありますか?私は次のエラーが発生します: '指定されたスキーマが有効ではありません。エラー:エラー2019:指定されたメンバー・マッピングが無効です。 'MyModel'型のメンバ 'DeletedAt'の 'Edm.DateTime [Nullable = True、DefaultValue =、Precision =]'メンバ 'DeletedAt'の 'SqlServer.bit [Nullable = True、DefaultValue =]'タイプ 'CodeFirstDatabaseSchema.MyModel'にあります。 ' – Jed
- 1. SQL Server-conditional where節
- 2. SQL Serverクエリのパフォーマンスwhere節
- 3. SQL Serverのストアドプロシージャ(条件付きwhere節)
- 4. Sql where節
- 5. SQL where節とDjangoタイムゾーン
- 6. if inside where節 - SQL
- 7. SQL LEFT JOIN where IN比較のwhere節
- 8. where節のSql条件文
- 9. SQL LEFT JOINと別の列のwhere節
- 10. Where節はSQL Server CEでカウントダウンしません
- 11. where節をSQL Serverストアドプロシージャに渡す方法は?
- 12. SQL Server WHERE句
- 13. Crystalレポートの 'N' SQLクエリwhere節
- 14. WHEREのSQL Serverクエリエラー
- 15. 左の外部結合のSQL where節
- 16. SQL Serverに最適化された大規模クエリとISNULL where節
- 17. Querydsl case where where節
- 18. Hibernate merge where節
- 19. WHERE、SQL Serverのケース
- 20. sql server datetime where句
- 21. SQL Serverは、where句
- 22. SQL - Where節の動的条件
- 23. LINQ to SQL条件式where節
- 24. where節のSQL MAXの日付
- 25. WHERE節のプロンプトでMS SQL apotrophe
- 26. SQLのwhere節が動作しない
- 27. エンティティへのlinq、where where節? (inner where)
- 28. 一括コピー(C用API)とSQL Serverの
- 29. Entity Frameworkチェーンwhere節
- 30. linqの動的節where節#
あなたはEFを使用していますか? –
はい私はEFを使用しています。 – Jed