CodeFirst生成字段类型,与参数化查询的类型不匹配,导致查询速度过慢 返回
C#论坛
老数据
2016
悬赏:0 飞吻
接上一个问题,已找到原因,链接:http://www.donet5.com/Ask/9/8186。
数据库为SqlServer,在使用CodeFirst时,实体类中string类型的字段在数据库中被创建为varchar类型,通过lamda表达式拼接的where语句最终会执行Sql参数化查询,SugarParameter会将string类型的转换为System.Data.DbType.String,System.Data.DbType.String对应的数据库类型为nvarchar(varchar应为System.Data.DbType.AnsiString),与codefirst生成的类型不匹配,导致参数化查询时参数类型不匹配,查询速度过慢。
目前通过在实体类中指定ColumnDataType可以解决此问题,希望可以对此处进行优化调整。