3

更新する前に、エンティティ/テーブルに同じ値が含まれていないというlinqtoentitiesを使用してクエリを実行しようとしています。

データベースの構造は次のとおりです。

Users             User_IPAddresses          IPAddresses
-----             ----------------          -----------
UserID   >------  UserID           ------<  IPAddressID
User              IPAddressID               Address

したがって、エンティティオブジェクトの構造は次のようになります。

UserSet          IPAddressSet
-------  >-----< ------------
User             IPAddress

すべてのIDフィールドは主キーであるため、リンクテーブル(User_IPAddresses)には一意の行が含まれている必要があります。

私が抱えている問題は、エンティティをチェックする方法に頭を悩ませることができないため、更新する前にUser_IPAddressesテーブルの一意の行の制約に違反しないことです。

私を助けることができるEFの達人はいますか?

4

1 に答える 1

4
//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;
}
于 2009-07-02T19:47:21.773 に答える