0

メンバーが持つ各会社のレコードを持つ MemberCompany というテーブルがあります。モデルは以下。メンバー ID を渡す webapi メソッドを介してクエリを実行すると、デバッグ モードでそのメンバーの 1 つの会社が返されることがわかりますが、ブラウザーで実行すると、メンバーのリスト全体も返されることがわかります。2 つの参照テーブルなしで membercompany レコードのコレクションを返すことは可能ですか? これら 2 つのテーブルを含めるように最初のコードをコメントアウトしましたが、まだ応答に含まれているようです。

public partial class MemberCompany
    {
        public int id { get; set; }
        public int membership_id { get; set; }
        public string company_name { get; set; }
        public string company_address1 { get; set; }
        public string company_address2 { get; set; }
        public string company_town_city { get; set; }
        public Nullable<int> company_county { get; set; }
        public string company_postcode { get; set; }
        public string company_tel { get; set; }
        public string company_fax { get; set; }
        public string company_email { get; set; }
        public string company_contact { get; set; }
        public string company_web { get; set; }
        public string company_country { get; set; }
        public Nullable<System.DateTime> last_updated { get; set; }
        public Nullable<decimal> latitude { get; set; }
        public Nullable<decimal> longitude { get; set; }

        public virtual counties counties { get; set; }
        public virtual members members { get; set; }
    }

WebAPI

  [HttpGet("admin/api/membercompany/member/{member_id}")]
            public IEnumerable<MemberCompany> GetByMember(int member_id)
            {
                var Companies = db.MemberCompanies
                 //   .Include(t => t.counties)
                    //.Include(t => t.members)
                    .Where(m => m.membership_id == member_id);
                return Companies.AsEnumerable();
            }
4

1 に答える 1

1

コンテキストの遅延読み込みをオフにします。私の最善の推測では、それはオンであり、グラフがシリアル化されるときにエンティティがロードされます...

注: これは Web アプリでは実際に良いアイデアであり、グローバルに実行することをお勧めします。これにより、後で遅延読み込みによるパフォーマンスの問題に悩まされず、何を返すかを常に正確に把握できます。

于 2013-08-22T11:52:35.870 に答える