SQL 用于内部连接的 LINQ Lambda select 特定列
SQL LINQ Lambda for inner join to select specific column
我正在尝试将以下 SQL 查询转换为 lambda 语法,以便将结果直接放入列表中。
SELECT DISTINCT Venue.venueAddress
FROM Venue
INNER JOIN Event
ON Venue.venueName = Event.venueName
我现在得到的是:
List<String> listOfCities;
listOfCities = db.Venue.Join(db.Event,
venue => venue.venueName,
ev => ev.venueName,
(venue, ev) => new { Venue = venue, Event = ev})
.Where(venueAndev => venueAndev.Venue.venueAddress).ToList();
这是我试图转换成我的问题的另一个问题的解决方案,这显然不起作用,因为我没有得到 lambda 语法(我今天是全新的)。几个小时的 google 没有帮助,也许这里有人可以?
List<String> listOfCities = db.Venue.Join(db.Event,
venue => venue.venueName,
ev => ev.venueName,
(venue, ev) => venue.venueAddress)
.Distinct().ToList();
您不必使用 lambda 语法:
List<string> listOfCities = (from v in db.Venue
join e in db.Event on v.venuename equals e.venuename
select v.venueaddress).Distinct().ToList();
试试这个:
List<String> listOfCities;
listOfCities = db.Venue.Join(db.Event,
venue => venue.venueName,
ev => ev.venueName,
(venue, ev) => venue.venueAddress)
.Distinct().ToList();
我在我的电脑上测试过,它可以工作。
第三个 lambda 函数 (venue, ev) => venue.venueAddress)
返回的 TResult 实际上是 reterned 列表中的对象元素。
我在 .ToList()
之前添加了 .Distinct()
以请求包含不同元素的列表。
我正在尝试将以下 SQL 查询转换为 lambda 语法,以便将结果直接放入列表中。
SELECT DISTINCT Venue.venueAddress
FROM Venue
INNER JOIN Event
ON Venue.venueName = Event.venueName
我现在得到的是:
List<String> listOfCities;
listOfCities = db.Venue.Join(db.Event,
venue => venue.venueName,
ev => ev.venueName,
(venue, ev) => new { Venue = venue, Event = ev})
.Where(venueAndev => venueAndev.Venue.venueAddress).ToList();
这是我试图转换成我的问题的另一个问题的解决方案,这显然不起作用,因为我没有得到 lambda 语法(我今天是全新的)。几个小时的 google 没有帮助,也许这里有人可以?
List<String> listOfCities = db.Venue.Join(db.Event,
venue => venue.venueName,
ev => ev.venueName,
(venue, ev) => venue.venueAddress)
.Distinct().ToList();
您不必使用 lambda 语法:
List<string> listOfCities = (from v in db.Venue
join e in db.Event on v.venuename equals e.venuename
select v.venueaddress).Distinct().ToList();
试试这个:
List<String> listOfCities;
listOfCities = db.Venue.Join(db.Event,
venue => venue.venueName,
ev => ev.venueName,
(venue, ev) => venue.venueAddress)
.Distinct().ToList();
我在我的电脑上测试过,它可以工作。
第三个 lambda 函数 (venue, ev) => venue.venueAddress)
返回的 TResult 实际上是 reterned 列表中的对象元素。
我在 .ToList()
之前添加了 .Distinct()
以请求包含不同元素的列表。