分库分表自动导航失效了吗? 返回
SqlSugar
沟通中
10
244

悬赏:0 飞吻
A库中X表按年分表,表中有个字段CreateUser
B库中Y表普通表,表中有个Account字段
X表的CreateUser关联了Y表中的Account字段
X表设置了一对一的导航属性UserCreate
A,B库都在同一台服务器上,且都是SQLserver数据库
参考文档使用下面的查询代码
await _db.QueryableWithAttr<X>().SplitTable(input.BeginTime.Value, input.EndTime.Value).Includes(g => g.UserCreate).ToListAsync();
报错提示:找不到Y表
我看了生成的SQL语句,有个疑问,表名前面没有 A.dbo.X或者B.dbo.Y,这样的话的确是无法找到对应的库表吧?
热忱回答(10)
-
摇曳的风筝 VIP0
1个月前await _db.GetConnection("A").Queryable<X>().SplitTable(input.BeginTime.Value, input.EndTime.Value) .CrossQuery(typeof(Y), "B") .Includes(g => g.UserCreate).ToListAsync();
这样写到是可以的
0 回复 -
摇曳的风筝 VIP0
1个月前await _db.QueryableWithAttr<X>().SplitTable(input.BeginTime.Value, input.EndTime.Value) .CrossQuery(typeof(Y), "B") .Includes(g => g.UserCreate).ToListAsync();
这样写也是可以的
0 回复 -
摇曳的风筝 VIP0
1个月前await _db.QueryableWithAttr<X>().SplitTable(input.BeginTime.Value, input.EndTime.Value) .CrossQuery(typeof(Y), "B") .Select(g => new X() { CreateUserName = g.UserCreate.RealName }).ToListAsync();
但是这样写就不行了
0 回复 -
fate sta VIP0
1个月前跨库导航本来就有可能不支持select
0 回复 -
fate sta VIP0
1个月前跨库导航本来就有可能不支持select
0 回复 -
fate sta VIP0
1个月前文档写的很清楚了
0 回复 -
摇曳的风筝 VIP0
1个月前@fate sta:没有吧,文档里没有说啊,参考的这个啊
0 回复 -
摇曳的风筝 VIP0
1个月前@fate sta:
文档是这里吧https://www.donet5.com/Home/Doc?typeId=2244
0 回复 -
fate sta VIP0
1个月前0 回复 -
摇曳的风筝 VIP0
1个月前@fate sta:我这也不是子表过滤主表啊,意思就是导航属性用不了了,那完犊子了
0 回复