インターセプターを使用した Entity Framework の Char(N) 値の自動トリミング
特定の char(N) に対して取得された値の自動トリミングを実現するにはEntity Framework の列では、インターセプターを利用できます。このアプローチは、EF 6.1 バージョンで特に効果的です。
インターセプター アプローチ
Entity Framework の Microsoft プログラム マネージャーである Rowan Miller が提案しているように、インターセプターはこの問題に対するソリューションを提供します。シナリオ。目標は、パフォーマンスに影響を与えることなく、モデル内のすべての文字列プロパティから末尾のスペースを自動的にトリミングすることです。
StringTrimmerInterceptor に関連するコードは次のとおりです。
using System.Data.Entity.Core.Metadata.Edm; using System.Data.Entity.Infrastructure.Interception; namespace FixedLengthDemo { public class StringTrimmerInterceptor : IDbCommandTreeInterceptor { // ... (implementation details) ... } }
インターセプターを有効にするには、次のコードを追加します。構成クラスをプロジェクトに追加します:
using System.Data.Entity; namespace FixedLengthDemo { public class MyConfiguration : DbConfiguration { public MyConfiguration() { AddInterceptor(new StringTrimmerInterceptor()); } } }
このインターセプターを実装すると、EF は取得した値を自動的にトリミングします。 LINQ to Entities クエリで手動でトリミングすることなく、特定の char(N) 列から取得できます。
以上がEntity Framework インターセプターはどのようにして Char(N) 値を自動的にトリミングできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。