LinqとLinqをEntity Framewokから始めました。その上に.NET Riaサービスがあります。 .NET RIAサービスドメインサービスで
.NET Ria ServicesのLinqとEntityフレームワークの関連付けを照会する方法
、私が作成したい: 私の問題は、私はこのような第三の「接続」テーブルのFolderItemを使用して多くのrelationsshipに多くて2つのテーブルのフォルダおよびアイテムを持っているということです指定されたFolderIDのすべてのItemを返すメソッド。
SELECT * FROM Item i
INNER JOIN FolderItem fi ON fi.ItemID = i.ID
WHERE fi.FolderID = 123
私のLINQの知識が限られているが、私はこのような何かをしたい:
public IQueryable<Item> GetItems(int folderID)
{
return this.Context.Items.Where(it => it.FolderItem.ID == folderID);
}
これは正しい構文ではありません。このような何かを希望
T-SQLで、
Cannot convert lambda expression to type 'string' because it is not a delegate type
これを(関連付けを使用して)行う正しい方法は何ですか?
ユーザーは.Include( "FolderItem")を何とか使用できますか?
メソッド構文のみを入力してください。
PS。 は、ここでは、クエリ式を使用して次のようになります方法は次のとおりです。
public IQueryable<Item> GetItemsByFolderID(int folderID)
{
return from it in this.Context.Items
from fi in it.FolderItem
where fi.Folder.ID == folderID
select it;
}
qeustionがあり、どのようにそれはメソッドベースのクエリ構文を使用してのように見えるのでしょうか?
「=」は「==」でなければならない点を除き、提案されたGetItemsで何が問題になっていますか?あなたはそれを試しましたか? –
クレイグ、それはタイプミスでした。私はそれを修正しました。 –
私はsを想定しています。クエリ式の中でも、誤植であり、cでなければなりません。いずれにしても、私はGetItemsを書いたときに何もひどく間違っているとは思えませんが、私はあなたに以下の別のオプションを与えます。 –