#linq-to-entities
#linq-to-entities
Вопрос:
Каким будет запрос LINQ к сущностям для следующего SQL-запроса?
select Verbiage.verbiage
from Verbiage
join Verbiage_Types on Verbiage.verbiage_type_id=Verbiage_Types.verbiage_type_id
where Verbiage_Types.verbiage_type='ENROLLMENT'
group by Verbiage.verbiage,Verbiage.sequence
having Verbiage.sequence=(
select MAX(Verbiage.sequence)
from Verbiage
join Verbiage_Types on Verbiage.verbiage_type_id=Verbiage_Types.verbiage_type_id
where Verbiage_Types.verbiage_type='ENROLLMENT')
Ответ №1:
Я не уверен, но если это не сработает, это довольно близко?
Using db As TestContext = New TestContext("connectionString")
Dim result = (From v In db.Verbiages Join vt In db.Verbiage_Types
On v.Verbiage_Type_Id Equals vt.Verbiage_Type_Id
Where vt.Verbiage_Type = "ENROLLMENT"
Group v.Verbiage, v.Sequence By v.Verbiage, v.Sequence Into Group
Where Sequence = Group.Max(Function(n) n.Sequence)
Select Verbiage)
End Using
Ответ №2:
на самом деле ответ таков
from verbiage in db.Verbiage
join verbiage_types in db.Verbiage_Types on verbiage.verbiage_type_id equals verbiage_types.verbiage_type_id where verbiage_types.verbiage_type == "ENROLLMENT" group verbiage by new { verbiage.verbiage1, verbiage.sequence } into g where g.Key.sequence ==
(from verbiage0 in db.Verbiage
join verbiage_types1 in db.Verbiage_Types on verbiage0.verbiage_type_id equals verbiage_types1.verbiage_type_id
where
verbiage_types1.verbiage_type == "ENROLLMENT" select new {
verbiage0.sequence
}).Max(p => p.sequence) select new { g.Key.verbiage1}