我最近开始使用 Entity Framework 试验 Raw SQL,在某些情况下我更喜欢它。我想知道是否有办法获取关系实体:
不工作:
var personNo = context.Person.SqlQuery("SELECT * FROM `Person` LIMIT 1").FirstOrDefault();
foreach(var Number in personNo.Phone) {
//never iterates
}
有效(但在这种情况下我不想要 LINQ-to-Entities):
var personNo = context.Person.FirstOrDefault();
foreach(var Number in personNo.Phone) {
//iterate twice as it contains in the db
}
我尝试了几个不同的查询,包括
SELECT * FROM `Person` LEFT JOIN `Phone` ON (`Person`.ID = `Phone`.PersonID) LIMIT 1
编写查询以接收电话号码列表的正确方法是什么?这可能吗?