고객이 문자열 끝에 공백을 추가하는 습관이있는 ASP.NET MVC 웹 응용 프로그램에서 Entity Framework Code First를 사용하고 있습니다.Entity Framework에서 문자열 자르기 저장
분명히 Trim()
은 문제를 해결하는 정답이지만 프로젝트 전체에서 모든 것을 다듬는 것을 기억하는 것은 옳지 않습니다. 일부 파고 들었고 ASP.NET MVC: Best way to trim strings after data entry. Should I create a custom model binder? 사용자 정의 모델 바인더를 만든 위치를 찾았지만 모델이 바인드 될 때 응용 프로그램의 각 페이지로드에 성능이 저하 될까봐 걱정됩니다. SaveChanges()
이 트리밍되는 것처럼 보입니다. 데이터베이스에 트리밍 된 내용이 저장되기 때문에 가장 좋은 수행 방법이 될 것입니다.
내 질문에 SaveChanges()
을 무시하고 ObjectContext
에서 모든 추가 및 수정 된 개체를 가져 와서 리플렉션을 사용하여 모든 문자열을 여기에 맞게 다듬을 수 있습니까? 또는 모델 바인더가 올바른 방법입니까?
어디서나 정말로이 작업을 원한다면 사용자 지정 모델 바인더로 이동하십시오. 하지만 트리밍이 모든 분야에서 절대적으로 필요하다는 것을 확신하지 못합니다 ... 여러 번, 당신은 상관 없어요, 그렇죠? 괜찮으 시다면, 어디에서나 필요하지 않은 곳에서 자르기 만하십시오. 퍼포먼스 히트 때문에, 당신은이 퍼포먼스에 갇혀 있기 전에 다른 퍼포먼스 문제가있을 것이라고 생각합니다 ... –
커스텀 모델 바인더가 그것을 할 수있는 것으로 보입니다. 또한,보다 선택적으로하고 싶다면 SaveChanges()를 재정의하는 대신 [SavingChanges] (http://msdn.microsoft.com/en-us/library/system.data.objects.objectcontext)에 연결할 수 있습니다. savingchanges.aspx) 이벤트를 대체 할 수 있습니다. – nkvu
@ RaphaëlAlthaus 데이터가 사용자에게 표시되는 방식 때문에 문제가 몇 번 이상 있습니다. 트림을 패치 워크로 만드는 대신 올바른 방법으로 문제를 해결하려고합니다. –