【发布时间】:2020-09-12 15:44:00
【问题描述】:
我想通过CustomerID、Category、Store 和City 选择金额。
如果可以,请更正此查询?
var query = db.Amounts.Where(x => x.CustomerID == Convert.ToInt32(lkpCustomer.EditValue) &&
x.CatagoryID == Convert.ToInt32(lkp_Catagory.EditValue) && x.StoresID == Convert.ToInt32(lkp_from.EditValue) &&
x.CityID == Convert.ToInt32(lkp_to.EditValue)).Select(x => x.Amount1).ToList();
RateSpinEdit.EditValue = query;
说明:
【问题讨论】:
-
编辑器有一个代码格式化选项,可以让你的代码可读。
-
您可以进行 3 个查询 - 每个类别一个、每个客户 1 个、每个商店 1 个和每个城市 1 个。尝试再压缩它只会导致问题并且不会提供任何有用的数据。
-
您是否收到任何编译器错误?查询看起来不错,但如果没有表定义,我无法判断您是否会收到编译器错误、运行时异常或没有数据。你用什么来获取你发布的图片?图片是没有 WHERE 过滤的 c# 中的结果吗?您的查询仅返回一个值 (x.Amount1) 我认为您想修改 Select 如下: .Select(x => new {id = x.ID, category = x.CatagoryID, store = x.StoresID}) .ToList();
-
如果您想将结果应用到 SpinEdit 控件,那么请尝试
db.Amounts.Where(...).Select(x=>x.Amount).ToList()而不是db.Amounts.Where(...).Select(x=>x.Amount).FirstOrDefault()。 -
您好!您的查询需要有更多详细信息。您能否更详细地提出您的要求?
标签: c# sql sql-server linq linq-to-sql