假设我与图形数据库从这个样品的工作(SQL服务器2017年):语法实体框架查询到SQL Server 2017年的图形数据库
https://docs.microsoft.com/en-us/sql/relational-databases/graphs/sql-graph-sample
我有以下SQL查询:
-- Find Restaurants that John likes
SELECT Restaurant.name
FROM Person, likes, Restaurant
WHERE MATCH (Person-(likes)->Restaurant)
AND Person.name = 'John';
我使用EF 6.1.3在C#中创建了一个模型,它自动生成数据库中的所有类和一切(EF Designer from database)。这一切工作正常。我甚至可以用一个简单的方法,像查询所有的人:现在
public ICollection<People> ListPeople() => Entities.Peoples.ToList();
,如果我们回到原来的查询,在这里我想找到约翰喜欢的餐馆......我将如何做到这一点在实体框架?我需要使用LINQ查询还是只能调用实体? (大概是我,不是因为那里似乎不能成为表间的任何物理关系,只有通过在边缘找到他们)
我想的有点像
public ICollection<Restaurant> ListRestaurantsLikedByPerson(string personName)
{
var result = from restaurant in Entities.Restaurants, person in Entities.Peoples, likes in Entities.likess
where match (person - likes -> restaurant)
and person.name = personName;
return result;
}
但这语法不正确...我该如何做这个查询?
谢谢!虽然不理想,但我猜这是最接近的:) – gbdavid
感谢您的链接,目前尚不清楚Cosmos DB api如何与SQL Server 2017相关,除非我错过了某些东西? – johnstaveley