在实体框架上修剪字符串保存

Ste*_*n V 4 c# reflection asp.net-mvc entity-framework code-first

我在ASP.NET MVC Web应用程序中使用Entity Framework Code First,其中客户习惯在字符串末尾添加空格.

显然Trim()是解决这个问题的正确答案,但是记住在整个项目中修剪一切并不是正确的事情.做了一些挖掘并找到了ASP.NET MVC:在数据输入后修剪字符串的最佳方法.我应该创建自定义模型绑定器吗?他们在哪里创建了一个自定义模型绑定器,但我担心当绑定模型时,应用程序的每个页面加载都会有性能损失.看起来像SaveChanges()被称为修剪将是最有效的方式,因为事情将被存储修剪到数据库中.

所以我的问题是,覆盖SaveChanges()并获取所有添加和修改的对象,ObjectContext然后使用反射来修剪每个字符串,这是正确的事情吗?或者模型绑定器是正确的方法吗?

Gra*_*ler 5

我认为你太担心表现了.模型绑定器很好,我们在整个应用程序中做的确切.

MVC框架非常大,额外的模型绑定器并不是很多开销.

我们还发现了必须防止修剪的情况.因此,模型绑定器是完美的,因为它允许我们排除某些字段.

模型绑定器是标准的MVC行为.如果你在数据库级别执行它隐藏.

所以,如果是我,我会在ModelBinder中做到这一点.