これらのエラーを修正するために、次のオプションを検討してください。
1。linqを使用して文法を照会します:int id = 1;
var query = database.Posts.Join(
database.Post_Metas,
post => database.Posts.Where(x => x.ID == id),
meta => database.Post_Metas.Where(x => x.Post_ID == id),
(post, meta) => new { Post = post, Meta = meta }
);
2。linq拡張方法:
を使用します ラムダの式の使用を主張する場合は、次のように文法を調整してください。
lambda式を使用するときは、
<code class="language-c#">var id = 1; var query = from post in database.Posts join meta in database.Post_Metas on post.ID equals meta.Post_ID where post.ID == id select new { Post = post, Meta = meta };</code>
外側のブラケットには結合操作が含まれています。 メインキーと外部キーを接続するために、最初の2つのラムダ式が選択されています。
3番目のラムダ式は、結果属性の選択を定義します。
<code class="language-c#">var id = 1; var query = database.Posts // 起始点(表等效项) .Join(database.Post_Metas, // 内连接表 post => post.ID, // 选择主键 meta => meta.Post_ID, // 选择外键 (post, meta) => new { Post = post, Meta = meta }) // 选择 .Where(postAndMeta => postAndMeta.Post.ID == id); // 筛选条件</code>ここで、節定義のスクリーニング条件。
以上が一般的なクエリエラーを回避するために、LINQ結合とラムダ式を正しく使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。