假设我有三个表(Person_tbl、PersonHobbies_tbl和Hobbies_tbl),它们之间的关系如下:
Person_tbl [1]-------[n] PersonHobbies_tbl [n]-------[1] Hobbies_tbl
逻辑是一个特定的人可以有更多的爱好。我想检索未分配给由其 ID 表示的特定人的爱好列表。
例如,如果我想获取分配给特定人的爱好列表,我可以这样做:
DBEntity db = new DBEntity();
var Person = db.Person_tbl.Find(id); //id contains the ID of a person
var obj = Person.PersonHobbies_tbl;
//lets say that ViewListResult cointains only HobbyName
return obj.Select(n => new ViewListResult
{
HobbyName= n.Hobbies_tbl.name
}).ToList();
我想以一种有效的方式获得与此相反的内容(包含其他爱好的列表)。
所以我的问题是如何以足够有效的方式解决我的问题?