【问题标题】:Unidirectional Navigation Properties单向导航属性
【发布时间】:2011-06-11 19:59:34
【问题描述】:

是否有使 EF 导航属性单向的方法?

在下面的示例中,我想从“订单”表中删除“客户”属性。

这背后的驱动程序是我使用 Telerik Grid 收到的“循环引用”错误(它尝试为 Ajax 绑定序列化我的对象)。

【问题讨论】:

    标签: visual-studio-2010 entity-framework entity-framework-4


    【解决方案1】:

    我也遇到过这种情况。 Telerik 有一篇文章描述了问题和解决方案http://blogs.telerik.com/blogs/posts/10-01-25/resolving_circular_references_when_binding_the_mvc_grid.aspx

    基本上不是像@Akhil 建议的那样删除该属性,而是将其设置为 Private,这感觉破坏性较小。

    【讨论】:

    • 感谢您的指出。它似乎工作。但是,在尝试之后,我决定我真的不需要 AJAX 绑定。我现在将坚持服务器绑定。 :-)
    • 也是他们指出的选项之一。顺便说一句,我发现将网格的数据投影到视图模型中,并将网格基于它作为我的默认解决方案
    【解决方案2】:

    如果是 EF4,

    只需单击模型视图中的“Customers”导航属性和Delete(右键单击并删除)。

    如果是早期版本,

    您无法在 edm-designer 中执行此操作。您必须进入 xml 代码并查找您不想拥有的导航属性并将其删除。您将在 xml 代码的 CSDL 区域中找到 navigationiproperty。

    【讨论】:

    • 我已经尝试删除该属性,但是由于某种原因,循环引用错误仍然存​​在。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    相关资源
    最近更新 更多