我有一个Oracle数据源的实体模型,我无法控制它。使用此模型,我查询特定视图以查看给定产品的所有批量价格中断:
如您所见,此视图没有主键。这是我正在使用的LINQ:
var db = GetOracleDataContext();
var result = db.ITEMPRICEBREAKS_V.Where(p => p.STOCKNO == stockId).ToList();
这在某种程度上有效,但它不会返回四个不同的记录及其自己的数量和定价,而是返回四个相同的记录,每个记录包含第一条记录的定价和数量($ 4800,0 ,2)。
我无法控制这个观点。有没有其他方法可以构建我的LINQ查询,以便我可以获得四个不同的值?
答案 0 :(得分:2)
仅选择您关注的字段并使用Distinct()。例如:
var result = db.ITEMPRICEBREAKS_V
.Where(p => p.STOCKNO == stockId)
.Select(p => p.Price)
.Distinct()
.ToList();
但是,我强烈建议您和其他评论者一起获得主键。