linq to sql 获取单个值
linq to sql to get single value
我正在寻找一种简洁的单行方法,使用 VB.Net
使用 lambda 从 DataTable
获取单个值
此代码有效
OPT_UDLY = (From X In DATA.OPTIONs
Where X.CONTRACT = CTC
Select X.UDLY).Single()
但我想像这样在一行中获取值(这行不通)
OPT_UDLY = DATA.Where(function(t) t.contract.Equals(CTC)).Distinct()
有什么建议吗?
试试这个:
OPT_UDLY = Data.OPTIONs.Where(Function(t) t.CONTRACT = CTC).Select(Function(x) x.UDLY).Single()
- 由于您在多个 LINQ 行中使用
Data.OPTIONs
,因此它也应该始终用于单行。
- 此外,因为您只需要
UDLY
元素,所以在单行样式中进一步使用 Select
LINQ
表达式,就像您在多行中所做的那样。
- 最后,如果只有一个匹配项,则使用
Single
到 return 匹配值,就像您已经做的那样。
只需删除换行符:
OPT_UDLY = (From X In DATA.OPTIONs Where X.CONTRACT = CTC Select X.UDLY).Single()
它比等效的 lambda 更短且更易读:
OPT_UDLY = Data.OPTIONs.Where(Function(t) t.CONTRACT = CTC).Select(Function(x) x.UDLY).Single()
我正在寻找一种简洁的单行方法,使用 VB.Net
DataTable
获取单个值
此代码有效
OPT_UDLY = (From X In DATA.OPTIONs
Where X.CONTRACT = CTC
Select X.UDLY).Single()
但我想像这样在一行中获取值(这行不通)
OPT_UDLY = DATA.Where(function(t) t.contract.Equals(CTC)).Distinct()
有什么建议吗?
试试这个:
OPT_UDLY = Data.OPTIONs.Where(Function(t) t.CONTRACT = CTC).Select(Function(x) x.UDLY).Single()
- 由于您在多个 LINQ 行中使用
Data.OPTIONs
,因此它也应该始终用于单行。 - 此外,因为您只需要
UDLY
元素,所以在单行样式中进一步使用Select
LINQ
表达式,就像您在多行中所做的那样。 - 最后,如果只有一个匹配项,则使用
Single
到 return 匹配值,就像您已经做的那样。
只需删除换行符:
OPT_UDLY = (From X In DATA.OPTIONs Where X.CONTRACT = CTC Select X.UDLY).Single()
它比等效的 lambda 更短且更易读:
OPT_UDLY = Data.OPTIONs.Where(Function(t) t.CONTRACT = CTC).Select(Function(x) x.UDLY).Single()