1
XMLファイルからLinqを使用してクエリを実行し、XMLドキュメントからデータを解析して取得するときに、オブジェクトに対して2つのプロパティを設定する必要があります。私は私のsnipetが示すように2つの呼び出しを行うことができますが、私は、私は2つの呼び出しを行うために必要なだけの1コールをしたいとのClientIDとModifiedDateを移入するには2つのプロパティLinqクエリからのDbクエリ -
XDocument recentOrdersXDoc = GetResults(...);
var q = from c in recentOrdersXDoc.Descendants("prop")
let handle = c.Element("handle")
select new ReturnResult()
{
ClientTemplateID = (string)c.Element("TemplateID"),
Handle = resultref != null ? (string)resultref.Attribute("handle") : null,
ClientID = DataContext.GetClientID((string)c.Element("TemplateID")),
ClientName = DataContext.GetClientName((string)c.Element("TemplateID")),
};
を移入する結果を得るでしょう。 ClientIDとClientNameの2つの列を持つClientsという表があります。上記のように、GetClientIDとGetClientNameのパラメータとして渡す必要があるときにClientTemplateIDプロパティにアクセスすることもできます。上のコードでは、XDocumentの結果を取得する必要があります。
var q = from c in recentOrdersXDoc.Descendants("prop")
let handle = c.Element("handle")
let clientTemplateID = (string)c.Element("TemplateID")
let client = DataContext.Clients
.Where(x=>x.ClientTemplateID == clientTemplateID)
.Select(x=>new {x.ClientID, x.ClientName}).Single()
select new ReturnResult()
{
ClientTemplateID = clientTemplateID,
Handle = resultref != null ?
(string)resultref.Attribute("handle") : null,
ClientID = client.ClientID,
ClientName = client.ClientName
};
これはまだ唯一のあなたは(私も、名前のいくつかの仮定をしなければならなかった)必要がある2つの列を読み取りますのようなものについてはどのように
マーク:これは天才です。どこでどのように私はlinqのこの詳細な知識を学ぶだろうか? –
「LINQ in Action」(より一般的な点については)のように、「C#in Depth」の後の章は(言語の詳細が必要な場合は)良いスタートになります。 –