C# 将存储过程映射到具有附加计算列的实体
我目前正忙于我的一个项目,需要一些帮助 我在MSSQL中创建了一个表值函数,它返回一个表和一个计算列(距离),并使用实体设计器将其映射到实体框架5中 问题是,我只能将结果映射为复杂类型或模型类中的实体。我需要在实体中使用一个导航属性,因此,我必须使用我的实体类 但是,由于列距离不是表中的实际列,因此我无法为表值函数的每个实体获取该值 有没有办法破解这个问题?我尝试使用分部类,但该函数无法将距离列映射为属性 这里有一个小代码来解释我在这里要做的事情:C# 将存储过程映射到具有附加计算列的实体,c#,sql-server,asp.net-mvc,entity-framework,stored-procedures,C#,Sql Server,Asp.net Mvc,Entity Framework,Stored Procedures,我目前正忙于我的一个项目,需要一些帮助 我在MSSQL中创建了一个表值函数,它返回一个表和一个计算列(距离),并使用实体设计器将其映射到实体框架5中 问题是,我只能将结果映射为复杂类型或模型类中的实体。我需要在实体中使用一个导航属性,因此,我必须使用我的实体类 但是,由于列距离不是表中的实际列,因此我无法为表值函数的每个实体获取该值 有没有办法破解这个问题?我尝试使用分部类,但该函数无法将距离列映射为属性 这里有一个小代码来解释我在这里要做的事情: IQueryable<Deal>
IQueryable<Deal> deals = context.GetDealsByTypeLocationSearch(latitude, longitude);
foreach (var d in deals)
{
Console.Write(d.Distance);
}
IQueryable deals=context.GetDealsByTypeLocationSearch(纬度、经度);
foreach(交易中的var d)
{
控制台。写入(d.距离);
}
当我尝试为我的实体交易创建分部类时,距离值为null。仅解释一下答案,请使用以下属性:
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
编辑:考虑使用数据库优先的方法,您是否考虑过调整?我忘了提到我是先使用数据库,而不是先使用代码:(如何将此定义查询与存储过程一起使用?我尝试过,但我认为如果要使用基于原始实体的任何导航属性,我也需要在ssdl中创建关联?啊,我想我可能有点误解。不幸的是,复杂类型不支持导航属性。请参阅此处:这也是一个错误。)在这里: