【发布时间】: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