我有一个dbContext设置,在使用.find()
命令搜索键值时可以正常工作。例如,以下语句将返回与传入的UnitID
匹配的键的质量值:
double Mass = dbMTG.MountingSpecs.Find(UnitID).Mass;
在搜索除键以外的值时,如何返回Mass
值?我用sqlquery玩了一点,没有任何成功。我试过了
double Mass = dbMTG.MountingSpecs.SqlQuery("SELECT DISTINCT Mass WHERE Class == 3");
我看过很多关于sqlquery的帖子,但没有一个人使用dbcontext。也许有充分的理由呢?
答案 0 :(得分:1)
如果你确定只有一个结果我会说你可以做到
double Mass = dbMTG.MountingSpecs
.SqlQuery<double>("SELECT DISTINCT Mass WHERE Class == 3")
.First();
答案 1 :(得分:1)
您应该能够使用一些简单的LINQ来实现这一目标:
var Mass = dbMTG.MountingSpecs
.Where(m => m.Class == 3)
.Select(m => m.Mass)
.FirstOrDefault();
答案 2 :(得分:1)
Nullable<double> Mass = dbMTG.MountingSpecs.Where(spec => spec.Class == 3).Select(spec => spec.Mass).Distinct().FirstOrDefault();