ho classe
public class Parent
{
[Key]
public int ParentID { get; set;}
public virtual ICollection<Child> Childs { get; set; }
}
public class Child
{
[Key]
public int ChildID { get; set; }
public int Grade { get; set; }
public int ParentID { get; set; }
[ForeignKey("ParentID")]
public virtual Parent Parent { get; set; }
}
Ho bisogno di qualcosa di equivalente a
SELECT
Child.Grade
FROM
Parent
INNER JOIN Child ON
Parent.ParentID = Child.ParentID
WHERE
Parent.ParentID = 1
GROUP BY
Child.Grade
E
SELECT DISTINCT
Child.Grade
FROM
Parent
INNER JOIN Child ON
Parent.ParentID = Child.ParentID
WHERE
Parent.ParentID = 1
Qualsiasi aiuto sarà apprezzato. Grazie
Non c'è motivo di aderire al genitore, perché puoi semplicemente utilizzare Child.ParentId
Ad ogni modo, puoi farlo:
var result = db.Set<Child>().Where(c => c.Parent.ParentId = 1).GroupBy(c => c.Grade);
O senza il join;
var result = db.Set<Child>().Where(c => c.ParentId = 1).GroupBy(c => c.Grade);
E distinto è semplicemente:
var result = db.Set<Child>().Where(c => c.ParentId = 1).Select(c => c.Grade).Distinct();