こんにちは私はEntity Framework newbです。次のコードをデータ関係の単一のクエリに取得しようとしています。関係は1対多です。動作しませんLINQ to Entity Relationship
コード:
var categories = db.DataModel.Categories
.Where(c => c.CategoryTypeID == getCategoryTypeID(selectedId));
int getCategoryTypeID(int selectedTypeId)
{
return db.DataModel.CategoryLinkTypes.Where(l => l.ID == selectedTypeId)
.FirstOrDefault().ToInt(0);
}
は、私はあなたが私がやろうとしていますかを見ることができると思います。このコードを実行すると、次のエラーが表示されます。
LINQ to Entities does not recognize the method 'Int32 getCategoryTypeID(Int32)' method, and this method cannot be translated into a store expression.
誰かが私にこれを行う正しい方法を教えてもらえますか?
私は、あなたはまだ、クエリでそのような関数を呼び出すことはできませんEF 4 +とC#
これはあなたのために働いてうれしいです。好奇心の外に、あなたは一緒に行きましたか? –
私は2番目のオプションを使用しました。なぜなら、私の関係で扱うオブジェクトが2つ以上あったからです。だから、それはただ一つのテーブルに過ぎませんでした。ご協力いただきありがとうございます! – Jared
意味があります - 最初のオプションは実際には欠陥がありました。 IEnumerable>が返されます。私はそれを明確にするために削除するつもりです。 –