查询具有e.RowKey.ToLower()的特定实体会抛出异常
CustomerEntity customerEntity = (from e in serviceContext.CreateQuery<CustomerEntity>("Customer")
where e.RowKey.ToLower() == firstName.ToLower()
select e).FirstOrDefault();
基本上我想检查不区分大小写的用户名.Azure表由我们的合作伙伴管理,因此我无法指示他们以小写形式输入用户条目到表格。
我需要在代码中处理这个问题。
的问候, 的Vivek
答案 0 :(得分:3)
ToLower()作为过滤器表达式的一部分无效,因为Table Storage不支持将其作为操作。
您有两种选择:
答案 1 :(得分:1)
您收到异常,因为ToLower()
方法不是Azure中支持的方法。
我认为你可以用这种方式进行比较
where e.RowKey.Equals(username, StringComparison.InvariantCultureIgnoreCase);
它应该完成您要执行的操作,但它会使用支持的Equals()
方法。