我对现有的SQL DB使用EF v6 Code First(因此架构相当固定)。
我需要为以下类构建一个模型,并想知道是否有一种方法来映射Reading和TemperatureCategory之间的关系,其中Reading的温度介于TemperatureCategory的下限和上限之间? / p>
public class Reading
{
public int Id { get; set; }
...
public double Temperature { get; set; }
...
public virtual TemperatureCategory Category { get; set; }
}
public class TemperatureCategory
{
public int Id { get; set; }
public string Description { get; set; }
public double LowerBound { get; set; }
public double UpperBound { get; set; }
...
}
非常感谢
答案 0 :(得分:0)
这是一个有趣的想法,但不,你不能。联接总是基于平等。
所以你必须查询TemperatureCategory
。例如
from r in context.Readings
let category = context.TemperatureCategories
.FirstOrDefault(c => c.LowerBound < r.Temperature
&& c.UpperBound >= r.Temperature)
select new { Reading = r, Category = category.Description }