範囲と実際の値の2つの上限と2つの下限の5つのパラメーターのセットがあります。Linq-to-Entitesクエリでは、値が範囲内のどこにあるかに応じて整数を返すことができるようにしたいと思います。
例えば:
if (value > highest limit || value < lowest limit) return 6;
if (value < highest limit && value > 2nd high limit || value > lowest limit && value < 2nd lowest limit) return 5;
else if (value < 2nd highest limit && value > 2nd lowest limit) return 4;
クエリは次のようになります。
var list = from item in ObjectContext.Plants
where item.ID == ID
select new Model()
{
ID = item.ID,
Name = item.Name,
Status = CalculateWhereInRange(item.numericValue, item.UpperHighLimit, item.LowerHighLimit, item.UpperLowLimit, item.LowerLowLimit)
};
return list;
編集
クエリはサーバー側で呼び出され、データをビューモデルに返します。これは、ストアド関数またはSQL関数で実現できますか?