0

Nugetを介してプロジェクトにSystem.Linq.Dynamicライブラリを含めました。以下は、選択で返される型付きフィールドを使用する場合に正常に機能するlinqクエリです。ただし、System.Linq.Dynamicを使用すると、selectに文字列値を使用できるはずです。私は見つけた例に従いましたが、選択から返されるのは文字列自体だけです。私は何が欠けていますか?

var predicate = PredicateBuilder.False<Name>();
predicate = predicate.And(d => d.ID == "100053");
var results = from n in Names
                        .AsExpandable()
                        .Where(n=> n.ID=="100053")                            
                       join d in InstitutionDemographics on n.ID equals d.ID
                       join m in MemberAdhocIds on n.ID equals m.ID                           
                       join a in NameAddresses on n.BillingAddressNumber equals a.AddressNumber
                       join mas in MemberAdhocServices on n.ID equals mas.InstitutionID
select("new(n.ID,n.Company,n.MemberStatus,n.Email,n.MemberType,n.USCongress,n.FAX,n.County,d.NumberYearsAMember,d.Population,d.FederalReserveDistrict,d.FDICCertificateNumber,d.FRSID,d.ICBADistrictCode,d.UD_Minority_Type,d.MSA,d.NumberOfBranches,d.PubliclyTraded,d.SRAMemberships,d.Assets,d.RSU,d.FutureDues,d.InstitutionType,d.AgLoanPercentageTotal,m.CCRP,a.City,a.State,a.Address1,a.ZIP)");
                results.Dump();    
4

2 に答える 2

0

selectステートメントに文字列を選択するように指示している場合、それらの文字列の値は返されません。引用符なしで試してみるとどうなりますか?

私はC#に堪能ではなく、VBの悪鬼ですが、次のようなことを試すことができます。

New With {.Id = n.ID、.Company = n.Company、...etc}を選択します

それは理にかなっていますか?あなたの質問を誤解してしまったらお詫びします。

于 2012-12-04T17:32:20.110 に答える
0

私の間違い。拡張機能がどのように機能するのかわかりませんでした。実際にはメソッド構文でのみ機能するのに、拡張機能がクエリ構文で機能することを期待していました。

つまり、.Select( "new(ID、Name)");

(これは動作します)

-vs-

select(new(ID、Name) ");

(これは機能しません)

于 2012-12-05T16:20:30.170 に答える