[英]Entity Framework : join two tables and where clause
我在使用 Entity Framework 和 PostgreSQL 時遇到問題,有人知道如何連接兩個表並將第二個表用作 where 子句嗎?
我想在實體框架中執行的 select 將在 SQL 中:
SELECT ai.id, ai.title, ai.description, ai.coverimageurl
FROM app_information ai
INNER JOIN app_languages al on al.id = ai.languageid
WHERE al.languagecode = 'es'
目前我有這個
appInformationToReturn = context.app_information
.Join(context.app_language, ai => ai.languageid,
al => al.id, (ai, al) => new AppInformation()
{
id = ai.id,
title = ai.title,
description = ai.description,
coverimageurl = ai.coverimageurl
})
.Where()
.FirstOrDefault();
我不知道如何構建where
子句。
像這樣:
appInformationToReturn = context.app_information
.Join(context.app_language, ai => ai.languageid,
al => al.id, (ai, al) => new
{
id = ai.id,
title = ai.title,
description = ai.description,
coverimageurl = ai.coverimageurl,
lang = al.languagecode
}).Where(x=>x.lang == "es")
.Select(x=> new AppInformation()
{
id = x.id,
title = x.title,
description = x.description,
coverimageurl = x.coverimageurl
})
.FirstOrDefault();
嘗試這個:
var item = (
from ai in context.app_information
join al in context.app_language on ai.languageid equals al.id
where (al.languagecode == "es")
select new AppInformation
{
id = ai.id,
title = ai.title,
description = ai.description,
coverimageurl = ai.coverimageurl
}).FirstOrDefault();
或嘗試更短
var item = context.app_information
.Where(ai => ai.app_language.languagecode == "es")
.Select(ai => new AppInformation
{
id = ai.id,
title = ai.title,
description = ai.description,
coverimageurl = ai.coverimageurl
})
.FirstOrDefault();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.