2017-10-13 12 views
2

내가이 샘플에서 그래프 데이터베이스와 함께 일하고 있어요 가정 (SQL 서버 2017)에 대한 :구문 SQL 서버 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 디자이너). 이 모든 것이 잘 작동합니다. 우리가 나는 요한이 좋아하는 레스토랑을 발견하고자하는 원래의 질의에 온다면 어떻게 이런 짓을 할 것이다 ...,

public ICollection<People> ListPeople() => Entities.Peoples.ToList(); 

지금 : 내가 좋아하는 간단한 방법을 사용하여 모든 사람을 조회도 할 수 있습니다 Entity Framework에서? 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; 
     } 

처럼 뭔가 생각하지만이 구문은 (아마도 난 단지 가장자리에서 그들을 찾아, 테이블 사이에 물리적 관계가있을 것 같지 않습니다 수 없기 때문에) 잘못된 ...이 쿼리를 어떻게 수행 할 수 있습니까?

답변

3

Entity Framework는 SQL 서버 관련 그래프 확장을 지원하지 않습니다.

1
당신은 여기에 2017 SQL Server의 그래프 테이블 기능에 액세스 할 마이크로 소프트의 코스모스 DB API를 사용할 수

link

+0

감사합니다! 이상적이지는 않지만 이것이 가장 가까운 것 같아요 :) – gbdavid

+0

내가 놓친 것이 아니라면 Cosmos DB API가 SQL Server 2017과 어떻게 관련되어 있는지 명확하지 않습니다. – johnstaveley