엔티티 프레임 워크 : 링크 테이블에서 쿼리를 수행 / 많은 관계
-
21-08-2019 - |
문제
엔티티/테이블이 업데이트하기 전에 동일한 값을 포함하지 않도록 LINQ를 사용하여 엔티티에 쿼리를 수행하려고합니다.
데이터베이스의 구조는 다음과 같습니다.
Users User_IPAddresses IPAddresses
----- ---------------- -----------
UserID >------ UserID ------< IPAddressID
User IPAddressID Address
따라서 엔티티 객체의 구조는 다음과 같습니다.
UserSet IPAddressSet
------- >-----< ------------
User IPAddress
모든 ID 필드는 기본 키이므로 링크 테이블 (user_ipaddresses)에는 고유 한 행이 포함되어야합니다.
내가 가지고있는 문제는 엔터티를 확인하는 방법에 대해 머리를 잡을 수 없다는 것입니다. 따라서 업데이트하기 전에 user_ipaddresses 테이블의 고유 한 행 제약 조건을 위반하지 않도록합니다.
저를 도울 수있는 EF 전문가가 있습니까?
해결책
//returns true if pair exists
public bool CheckIfUserIPPairExists(int ipID, int userID)
{
bool exists
= db.UserSet.Any(user=>user.UserID==userID
&& user.IPAddress.Any(ip=>ip.IPAddressID == ipID));
return exists;
}
제휴하지 않습니다 StackOverflow