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

时间:2013-03-21 17:08:19

标签: c# asp.net-mvc entity-framework reflection code-first

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

显然Trim()是解决问题的正确答案,但是记住修剪项目中的所有内容并不是正确的做法。做了一些挖掘并发现ASP.NET MVC: Best way to trim strings after data entry. Should I create a custom model binder?他们创建了一个自定义模型绑定器,但是我担心当绑定模型时,应用程序的每个页面加载都会有性能损失。看起来像修剪SaveChanges()被调用将是最有效的方式,因为事情将被存储修剪到数据库中。

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

1 个答案:

答案 0 :(得分:5)

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

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

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

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

所以,如果是我,我会在ModelBinder中完成。