2

次のlinqクエリに問題があります。

public class Address
    {
        public int addressID { get; set; }
        public string address { get; set; }
    }

public class AdvanceClient
    {
        public int ClientID { get; set; }
        public string Name { get; set; }
        public string Mobile { get; set; }

        public IEnumerable<Address> Addresses { get; set; } 

    }

以下の linq クエリでは、アドレスの IEnumerable リストを Addresses プロパティに割り当てたいと考えています。tblAdvanceClient テーブルと tblAddress テーブルの間には 1 対多の関係があります。

IEnumerable<AdvanceClient> addcli = from tbcli in dc.tblAdvanceClients
                                                join tbadd in dc.tblAddresses
                                                on tbcli.AddressID equals tbadd.AddressID
                                                select new AdvanceClient
                                                {
                                                    ClientID = tbcli.ClientID,
                                                    Company = tbcli.Company,
                                                    Fax = tbcli.Fax,
                                                    Mobile = tbcli.Mobile,
                                                    Name = tbcli.Mobile,
                                                    Telephone = tbcli.Telephone,
                                                    Addresses = new Address { } // Here i need to get the list of address to each client
                                                };

ここに画像の説明を入力

4

4 に答える 4

3

それ以外の

Address = new Address { }

に変更します

Address = tbcli.Addresses //Since you already have a property in AdvanceClient

したがって、クエリは次のようになります。

IEnumerable<AdvanceClient> addcli = 
        from tbcli in dc.tblAdvanceClients
        join tbadd in dc.tblAddresses
            on tbcli.AddressID equals tbadd.AddressID
            select new AdvanceClient
            {
                ClientID = tbcli.ClientID,
                Company = tbcli.Company,
                Fax = tbcli.Fax,
                Mobile = tbcli.Mobile,
                Name = tbcli.Mobile,
                Telephone = tbcli.Telephone,
                Address = tbcli.Addresses
            };
于 2013-05-17T05:48:20.653 に答える
1

EntityFramework を使用してデータを取得していますか? もしそうなら、あなたはあなたのモデルを変えることができます

 

public class Address
    {
        public int addressID { get; set; }
        public string address { get; set; }
    }

public class AdvanceClient
    {
        public int ClientID { get; set; }
        public string Name { get; set; }
        public string Mobile { get; set; }
        public int AddressId { get; set; }

        public virtual Address Addresses { get; set; } 

    }

 

EntityFramework によって住所データが読み込まれます。

于 2013-05-17T06:05:12.663 に答える