SqlFunc.Subqueryable进行子查询时,表架构名会丢失问题 返回

求助
1 1120
该叫什么 tony 发布于2018/6/29
悬赏:5 飞吻
 [SugarTable("Tiz.PR_ORDER")]
    public class PurchaseOrder : ModelContext
    {

       public string ProjectNo{get;set;}

       public string OrderNo{get;set;}

       
    }

    [SugarTable("Tiz.PR_ORDER_ITEM")]
    public class PurchaseOrderItem : ModelContext
    {

       public string OrderNo{get;set;}

       public string ItemNo{get;set;}
       
    }


    [SugarTable("CM.PR_ORDER_LOCK")]
    public class PurchaseOrderItemLock : ModelContext
    {

       public string ProjectNo{get;set;}

       public string ItemNo{get;set;}
       
    }


    db.Queryable<PurchaseOrder>()
        .Where(o => //Sugar ORM BUG
            SqlFunc.Subqueryable<PurchaseOrderItem>()
                .Where(oi => oi.OrderNo == o.OrderNo)
                .Where(oi =>
                        SqlFunc.Subqueryable<PurchaseOrderItemLock>()
                            .Where(s => oi.ItemNo == s.ItemNo)
                            .Where(s => s.ProjectNo == o.ProjectNo)
                            .NotAny()
                        )
            .Any())

    

    在Oracle数据库上,进行上述查询,产生的SQL中,有两个问题:

       1. PurchaseOrderItem的表名变为 from "Tiz.PR_ORDER_ITEM",非 from "Tiz"."PR_ORDER_ITEM"

       2. PurchaseOrderItemLock的表名变为 from "PRORDERLOCK",丢失了架构名,与表名的下划线


热忱回答1

版块

学习文档

最新会员

发布达人

回贴达人