【问题标题】:Trying to .Include a navigation property when using a return value on a webmethod在 web 方法上使用返回值时尝试 .Include 导航属性
【发布时间】:2012-10-22 19:00:58
【问题描述】:

所以我试图让一个 web 方法返回一个在 EF 中具有一对多关系的对象。我期望 XML 为许多关系中的每个项目构建子节点,但似乎唯一填充的关系是那些正在备份的关系,而不是那些正在下降的关系。这是我的代码。

[WebMethod]
public Question GetCurrentQuestion(int TeamID)
{
    var db = new DSG_pepsicenter_stagingEntities();
    return db.Questions.Include("QuestionAnswers").First(n => n.TeamID == TeamID);
}

基本上我的问题表属于一个团队,并且有很多问题答案。但是,问题答案不存在于 web 方法中发生的序列化中。有没有办法强制这样做?我知道如果我强迫它,我会冒循环引用出错的风险,但这比构建 DTO 更可取。谢谢!

【问题讨论】:

    标签: c# entity-framework webmethod


    【解决方案1】:

    我不太清楚您的要求,但我认为您希望在许多语句的另一端填充反向引用,即特定答案的问题是什么。

    这可以通过使用点符号的包含语法来完成,即:

    .Include("QuestionAnswers.Question")
    

    【讨论】:

    • 即使在这个相反的方向上,序列化程序在序列化和返回 EF 对象时似乎忽略了“包含”导航属性。
    猜你喜欢
    • 1970-01-01
    • 2016-03-31
    • 1970-01-01
    • 2011-11-23
    • 2018-11-07
    • 2013-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多