0

EF DbContext で WCF Data Services 5.0 を使用しています。

Expand と LoadProperty を使用して、1 回の要求で WCF に関連エンティティを返させることができるという古い記事を目にします。

DbContext に相当するのはインクルードだけですが、うまくいかないようです。

DbContext を操作するときに、関連するすべてのレコードを読み込む方法はありますか?

以下のコードを使用しています (1 つの CategoryGroup に多くの Category エンティティを含めることができます)。

[WebGet]
    public IQueryable<CategoryGroup> GetAllCategories(string activationCode)
    {
        try
        {
            var db = this.CurrentDataSource;

            var licence = db.Licenses
                .Include("Contact")
                .FirstOrDefault();

            if (licence != null)
            {
                var customerId = licence.Contact.CustomerId;

                return db.CategoryGroups.Include("Categories").Where(r => r.CustomerId == customerId);
            }
        }
        catch(Exception ex)
        {

        }

        return new List<CategoryGroup>().AsQueryable();
    }

この関数は、OData 形式の CategoryGroup エンティティ (関連する Category エンティティを除く) のみを返します。

4

1 に答える 1

1

現在、WCF DS サーバーは自動拡張できません。したがって、上記のコードにインクルードを使用しても、サービス操作からの応答には影響しません。拡張は、クライアントが $expand クエリ オプションを介してのみ要求できます。

于 2012-07-25T09:58:05.290 に答える