跨库select问题 返回

SqlSugar 沟通中
9 166
"main": "Database=jxss;Data Source=127.0.0.1;"
"emp": "Database=erp_emp;Data Source=10.10.10.40;"

[Tenant("main")]
public class Warehouse
{
	[SugarColumn(IsPrimaryKey = true)]
	public string Code { get; set; }

	public long DepartmentId { get; set; }

	[Navigate(NavigateType.ManyToOne, nameof(DepartmentId))]
	public emp_department Department { get; set; }
}

[Tenant("emp")]
public class emp_department
{
	[SugarColumn(IsPrimaryKey = true)]
	public long deptId { get; set; }

	public string Name { get; set; }
}

await sugarSql.AsTenant().QueryableWithAttr<Warehouse>().Select(i => new { i.Code, DepartmentName = i.Department.Name }).ToListAsync();

跨库查询时报错: Unknown database 'erp_emp'

该怎么写?

热忱回答9

  • 数据库不存在吧 ,这个提示

    0 回复
  • @fate sta:是存在的

    await sugarSql.AsTenant().QueryableWithAttr<Warehouse>().IncludesAllFirstLayer().ToListAsync();

    这么写没问题,是select 不支持跨库吗?

    0 回复
  • image.png

    可能和departmemnt.name有关系吧

    0 回复
  • @fate sta:这个不光跨库还跨服务器了

    0 回复
  • @老菜鸟了:it.xxx.name不支持跨服务器

    0 回复
  • @fate sta: 那像这样跨服务器 过滤字段返回 应该怎么做啊?

    0 回复
  • @老菜鸟了:可以用thenmapper处理

    0 回复
  • 也可以导航 tolist().Select

    0 回复
  • @fate sta: "也可以导航 tolist().Select"  是下面这么用的意思吗

    var list = await sugarSql.AsTenant().QueryableWithAttr<Warehouse>().IncludesAllFirstLayer().ToListAsync()
    var views = list.Select(i => new { i.Code, DepartmentName = i.Department.Name });


    0 回复