繁体   English   中英

使用附加的计算列将存储过程映射到实体

[英]Mapping stored procedures to entities with additional computed column

我目前停留在我的一个项目上,需要一些帮助。

我在MSSQL中创建了一个表值函数,该函数返回一个表和一个计算列(距离),并已使用实体设计器将其映射到Entity Framework 5中。

问题是我只能将结果映射为模型类型中的复杂类型或实体。 我需要在实体中使用Navigation属性之一,因此,我不得不使用实体类。

但是,由于列距离不是表中的实际列,因此我无法为表值函数的每个实体获取该值。

有什么办法可以解决吗? 我尝试使用部分类,但该函数不会将Distance列映射为我的属性。

这里有一些代码来解释我在这里想要做什么:

IQueryable<Deal> deals = context.GetDealsByTypeLocationSearch(latitude, longitude);
foreach (var d in deals)
{
  Console.Write(d.Distance); 
}

当我尝试为实体Deal创建局部类时,距离值为null。

只是在这里解释答案,请使用以下属性:

[DatabaseGenerated(DatabaseGeneratedOption.Computed)]

编辑:考虑使用数据库优先的方法,您是否看过调整DefiningQuery

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM