Как обрезать строку с помощью Entity Framework?

Как сделать Entity Framework автоматически обрезать все строки перед их хранением в базе данных?

1 ответов


можно использовать IDbCommandInterceptor для перехвата всех вызовов базы данных. Затем обрезать любые передаваемые параметры.

посмотреть в этой статье для более подробной информации и особенно как зарегистрировать перехватчик.

class TrimCommandInterceptor: IDbCommandInterceptor
{
  public void NonQueryExecuting(DbCommand command, DbCommandInterceptionContext<int> ctx)
  {
    foreach (var p in command.Parameters)
    {
       if (p.Value is string)
         p.Value = ((string) p.Value).Trim();
    }
  }

  // Add all the other interceptor methods
}