0

Facebook のリストとユーザーのリストの 2 つのリストを取得しました。

facebook オブジェクトは、次のようなプロパティ id のみを取得します。

public class EFacebook
{
    public string id { get; set; }
}

2 番目のリストはユーザーのリストですが、オブジェクトはより複雑で、各ユーザーは内部でプロバイダーの null 許容リストを取得し、これらのプロバイダーの 1 つを facebook にすることができ、各プロバイダーは次のような ID を取得します。

public class EUser
{
    public List<EProvider> EProviders { get; set; }
}

public class EProvider
{
    public enum EnumProviderType
    {
        Facebook = 2,
        Twitter = 3
    }

    public EnumProviderType ProviderType { get; set; }
    public string Id { get; set; }
}

ユーザー プロバイダーに基づいて facebook リストをフィルター処理し、2 つの子リスト (facebook であるユーザーと facebook ではないユーザー) を取得する必要があります。私は次のようなことを試みています:

var query1 =
    from i in users
    where i.EProviders.Any(j => j.ProviderType == EProvider.EnumProviderType.Facebook)
    select i.EProviders;

var query =
    from i in facebooks
    where i.id.Equals(???)
    select i;
4

2 に答える 2

0

あなたがすでに持っているものに基づいて、これはうまくいくかもしれません

var query2 =
    from i in users
    where i.EProviders.All(j => j.ProviderType != EProvider.EnumProviderType.Facebook)
    select i.EProviders;
于 2012-04-11T18:36:00.507 に答える
0

次のような射影 ( .Select) を持つ完全なリストから選択します。

users.Select( u => new { User: u, 
                         IsFacebookUser: facebook.Any( f => f.Id == u.Providers
                                                    .Single( p => p.providerType == facebookProvider).id) }

上記は象徴的なもので、コンパイルする機会がありませんでした。これにより、Facebook アカウントを持っている場合、bool でフラグが立てられたすべてのユーザーのリストが取得されます。

于 2012-04-11T18:36:12.107 に答える