EF查询SQL如何去空格?

d383137359 2017-03-16 02:47:56

public List<T> GetAll<T>() where T : class
{
List<T> dbdata = db.Set<T>().AsNoTracking().ToList();
return dbdata;
}


已有通用查询方法,并能正常查询结果,但SQL数据库中定义字段时,使用的varchar并设定了长度,所以每次使用上面方法查询回来时,该字段长度未达到设定的长度,会以空格占用,如:


List<Test> list = GetAll();
foreach(Test item in list)
{
Console.Write(item.name);
}

//打印结果为:
"aa "
"bacv "
"test3 "


救解
...全文
312 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
williamZhang1994 2020-12-02
  • 打赏
  • 举报
回复
百度一下 StringTrimmerInterceptor : IDbCommandTreeInterceptor 答案就出来了。 但是到了ef core 3.x暂时不知道弄了。
  • 打赏
  • 举报
回复
你改为nvarchar后,原来的空格并不会去掉,新加入的数据才会没空格……
d383137359 2017-03-16
  • 打赏
  • 举报
回复
引用 1 楼 starfd 的回复:
你这是定义了数据类型为char或者nchar 这种属于设计问题,应该没办法处理,对于EF来说,Trim后,值就发生了变化
现已把字段类型改为了varchar(30),问题依旧
正怒月神 2017-03-16
  • 打赏
  • 举报
回复
数据库字段修改成nvarchar
  • 打赏
  • 举报
回复
你这是定义了数据类型为char或者nchar 这种属于设计问题,应该没办法处理,对于EF来说,Trim后,值就发生了变化

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧