首页 > 解决方案 > 如何在执行 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 使用与架构不匹配的缓存名称。

我没有找到如何指定架构名称的任何选项,所以问题是如何解决这个问题?

标签: .netignite

解决方案


我已经检查过了,可以确认存在错误。SqlSchema从 LINQ 生成 SQL 时会被忽略。

勾选归档:https ://issues.apache.org/jira/browse/IGNITE-9116

修复似乎是微不足道的,您可以在下一个版本中期待它。

没有明显的解决方法。


推荐阅读