하는 것으로 - Entity Framework Code First, Navigation Property between different contexts/databasesEntity Framework - 다른 데이터 컨텍스트에서 "탐색 속성"? 누군가가 비슷한 질문을하고 나는이 대답 한 것을 생각하지 않습니다
을 나는 AccountsDbContext과 DataDbContext 있습니다.
public class Article
{
public int Id { get; set; }
public string Title { get; set; }
// Other data properties not shown for brevity.
public string UserId { get; set; } // who wrote/owns this article?
[ForeignKey("UserId")]
public virtual IdentityUser User;
/* I don't think I can do the above because IdentityUser is another context -
AccountsDbContext.
*/
}
내가 (아마 나뿐만 아니라 virtual
키워드) 외래 키 속성을 제거 생각 해요 : DataDbContext, 나는 클래스를 만들었습니다. Article
에 액세스 할 때마다이 속성이 null 속성이 될 수 있습니다. 그렇다면 사용자를 얻기 위해 다른 쿼리를 수행해야합니다.
사용자가 작가의 역할 (예 : AccountsDbContext
)으로 기사를 검색해야하는 경우 문제가 될 수 있습니다. 먼저 모든 결과를 수집하고 각 결과에 대한 사용자 정보를 쿼리 한 다음 필터링해야합니다. 이것은 다소 느리고 확실히 페이지 매김을 통한 계산의 낭비입니다.
이 상황을 처리하는 더 좋은 방법이 있습니까? 다시 말하지만 우리는 데이터 컨텍스트에서 외부 키를 사용할 수 없다는 가정하에 진행됩니다.
불행하게도 클라이언트는 계정 데이터베이스가 데이터와 분리되도록 지정했습니다.하지만 내 방식대로 사용해도 동일한 데이터베이스에 저장됩니다. 그러면 더 느린 중첩 쿼리로 처리해야합니다. –