首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET从oData控制器返回不正确的数据

ASP.NET从oData控制器返回不正确的数据
EN

Stack Overflow用户
提问于 2016-10-03 17:14:56
回答 1查看 92关注 0票数 1

我有一个使用ASP.NET实体框架驱动程序的Oracle应用程序。我有一个为视图定义的实体如下:

代码语言:javascript
复制
  CREATE OR REPLACE FORCE VIEW "PHASE_TWO"."EDIPRODUCT" ("ID", "STK_NUM", "TITLE", "ISBN", "UPC", "ITEMNO", "LONGFORMAT", "ABRIDGED", "WEB_TITLES_ID", "OCLC", "GENRE", "RELYEAR", "ORIG_REL", "LANG", "ORIG_STKNUM", "PUBLISHER", "PEOPLELIST", "SALES_ORG", "NOT_AVAIL") AS 
  SELECT sap_product.id,
    sap_product.stk_num,
    sap_product.longdesc AS title,
    sap_product.isbn,
    sap_product.upc,
    sap_product.itemno,
    sap_product.longformat,
    sap_product.abridged,
    mwt_product.web_titles_id,
    mwt_product.oclc,
    mwt_product.genre,
    mwt_product.RELYEAR,
    sap_product.orig_rel,
    sap_product.lang,
    sap_product.orig_stknum,
    UPPER (publisher.name) publisher,
    (SELECT LISTAGG (p.FULLNAME, ', ') WITHIN GROUP (
    ORDER BY pp.rank) AS People
    FROM people p
    JOIN product_people pp
    ON p.id          = pp.peopleid
    WHERE pp.stk_num = sap_product.stk_num
    GROUP BY pp.STK_NUM
    ) PeopleList, 
    sppg.PRICING_TYPE as sales_org, 
    sap_product.not_avail
FROM sap_product
JOIN mwt_product ON sap_product.stk_num = mwt_product.stk_num
JOIN publisher ON mwt_product.publisherid        = publisher.id
JOIN SAP_PRODUCT_PRICING_GROUP sppg on sppg.STK_NUM = mwt_product.stk_num and sppg.MARKED_FOR_DELETION = 0
WHERE mwt_product.WEB_PRODUCTS_ID > 0;

此视图在中按预期工作。我的控制器中的getEDIPRODUCT函数(是的,是VB.NET)如下所示:

代码语言:javascript
复制
' GET: odata/EDIPRODUCTs
        <EnableQuery>
        Function GetEDIPRODUCT() As IQueryable(Of EDIPRODUCT)
            Dim results As IQueryable
            results = db.EDIPRODUCT
            For Each _product In results
                Console.Write(_product)

            Next
            Return results
        End Function

我只是添加了for循环以检查结果。当我检查结果时看到的是,每一行都返回相同的产品记录。ID的值是重复的,唯一应该具有可变值的字段(sppg.PRICING_TYPE作为sales_org)也只是重复。

我还有其他的看法,认为这是不可能的。总是返回正确的记录数,但是检索到的第一条记录总是在结果集中的每一行中重复。知道这里会发生什么事吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-04 13:38:37

我从来没有真正解决过这个问题,我仍然对为什么失败感兴趣,但是我重写了应用程序中使用这个视图来使用OData的$expand检索相关数据的部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39836937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档