.net - 如何在执行 LINQ 查询时更改架构名称?
问题描述
我有一个缓存,其中一个 QueryEntity 创建为
ignite.CreateCache<long, MyEntity>(new CacheClientConfiguration("myEntityCache", queryEntity)
{
SqlSchema = "MYSCHEMA"
});
我正在尝试对此缓存执行 LINQ 查询
var result = cache
.AsCacheQueryable()
.Select(x => x.Value)
.Where(predicate)
.ToList();
但我得到一个错误
'解析查询失败。找不到架构“myEntityCache”;SQL 语句:select _T0._VAL from "myEntityCache".MYENTITY as _T0 where ? [90079-195]'
架构名称应等于“MYSCHEMA”,但 ignite 使用与架构不匹配的缓存名称。
我没有找到如何指定架构名称的任何选项,所以问题是如何解决这个问题?
解决方案
我已经检查过了,可以确认存在错误。SqlSchema
从 LINQ 生成 SQL 时会被忽略。
勾选归档:https ://issues.apache.org/jira/browse/IGNITE-9116
修复似乎是微不足道的,您可以在下一个版本中期待它。
没有明显的解决方法。
推荐阅读
- java - java.lang.SecurityException:UID 10243 在 Android 10 中没有粗略/精细定位权限
- vert.x - 如何测试不等待对其消息的确认的verticle?
- python - 无法使用 python-twitter 模块验证 Twitter 凭据
- c - 如何在 C 中使用 realloc
- flutter - 如何向后移动一些代码行?
- assembly - 处理器 8086 从八进制转换为十进制 - 汇编
- json - json 属性同时具有值和对象
- unicode - Html 电子邮件中的 Unicode 符号 - Outlook 是否把它们都弄乱了?
- python - Pandas 数据框或 SQLite 模糊搜索
- javascript - js对特殊字符的utf字符串进行条件测试