【问题标题】:How do I set up a Navigation Property in my Code First between a Table and View?如何在我的 Code First 中的表和视图之间设置导航属性?
【发布时间】:2014-05-05 19:38:46
【问题描述】:

我有一个简单的上下文,其中包含来自数据库的 1 个表和来自同一数据库的 1 个视图。 Table 有一个字段 OrderNumber,即 View 的 PK。视图仅包含我想要包含的详细信息,因此与表格是 1:1。
我正在尝试通过 Code First 完成所有这些操作并拥有我的模型,但我正在努力解决如何将它们链接到我的模型中,并让它只在 OrderNumber 字段中保存视图的 PK。

以下是我目前所拥有的:

public partial class MyTable
{
    public int ID { get; set; }

    [StringLength(10)]
    public string OrderNumber{ get; set; }   


    [StringLength(50)]
    public string Description { get; set; }

    [StringLength(500)]
    public string RequestorNote { get; set; }

    [StringLength(500)]
    public string WashNote { get; set; }

    public StatusChoices Status { get; set; }
}


[Table("MyView")]
public partial class MyView
{
    [Key]
    [Column(Order = 1)]
    [StringLength(20)]
    public string No_ { get; set; }

    [Column(Order = 2)]
    [StringLength(50)]
    public string Description { get; set; }

    [Column("Routing No_", Order = 3)]
    [StringLength(20)]
    public string Routing_No_ { get; set; }

    [Column("Starting Date-Time", Order = 4)]
    public DateTime Starting_Date_Time { get; set; }
}

【问题讨论】:

  • 您能在表格中添加类似public virtual ICollection<MyView> Orders { get; set; } 的导航属性吗?
  • 我只想要一个 1:1 但我相信你的观点是正确的。我想我想要public virtual MyView Orders { get; set; }
  • 是的,抱歉,我忽略了您的 1:1 要求。如果这最终对您有用,请告诉我,我将重新发布我的评论作为答案。
  • 成功了,谢谢。我现在有一个奇怪的疯狂慢问题,但它可能属于单独的帖子。
  • 如果可能的话,我会做一个 SQL 配置文件/跟踪,看看它在幕后做了什么。可能是数据库性能问题,也可能是查询的数据比您真正需要的多。

标签: c# .net entity-framework ef-code-first asp.net-mvc-scaffolding


【解决方案1】:

假设MyView 中的No_ 是来自MyTableOrderNumber,为什么不添加导航属性?

public virtual MyView OrderDetails { get; set; }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-25
    • 2016-03-16
    • 2014-01-20
    • 2013-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多