有代码:
Type type = model.GetType();
PropertyInfo[] infos = type.GetProperties();
获得一个模板类的公共属性 ,模板类与数据库表字段一致 , 于是根据属性的顺序来拼接T-SQL
测试的时候发现 如果重复的点击按钮(就是狂点保存) GetProperties()获得的属性顺序是乱的... — —
去MSDN上查文档如下:
GetProperties 方法不按特定的顺序(如字母顺序或声明顺序)返回属性。 您的代码一定不能依赖于属性的返回顺序,因为该顺序可以改变。 这到底是什么原因? 如何解决?
Type type = model.GetType();
PropertyInfo[] infos = type.GetProperties();
获得一个模板类的公共属性 ,模板类与数据库表字段一致 , 于是根据属性的顺序来拼接T-SQL
测试的时候发现 如果重复的点击按钮(就是狂点保存) GetProperties()获得的属性顺序是乱的... — —
去MSDN上查文档如下:
GetProperties 方法不按特定的顺序(如字母顺序或声明顺序)返回属性。 您的代码一定不能依赖于属性的返回顺序,因为该顺序可以改变。 这到底是什么原因? 如何解决?
如果这样说,那么你就不是说 GetProperties() 结果的顺序了。而是你自己的程序会把不同的请求(多次请求)的结果冲突在一起,你自己好好看看有没有滥用什么static变量冲突之类的吧。
Insert 把字段都列出来。还有干撒要用反射做?
想下,假如你的项目后来是另外一个人维护,别人就是移动了下属性定义的顺序,就能把你的程序搞挂了,也把别人搞郁闷了