0
データと比較します。誰かが私のLinqステートメント内でdbqueryを追加する方法を助けることができますか? 「ここに追加」というコメントがあります。私は昨日から苦労しています。 LINQ文を作成してすぐにリストを取得することが考えられます。ありがとうございました。LINQクエリは、私のクエリは以下の通りです
String dbwhere = "";
if (ddlName.SelectedItem.Value != "")
{
dbwhere = " && (User.Name == '" + ddlName.SelectedItem.Value.TrimEnd() + "')";
}
if (ddlHeightFrom.SelectedItem.Value != "")
{
dbwhere = dbwhere + " && (Physical.Height >= '" + ddlHeightFrom.SelectedItem.Value.TrimEnd() + "')";
}
if (ddlHeightTo.SelectedItem.Value != "")
{
dbwhere = dbwhere + " && (Physical.Height <= '" + ddlHeightTo.SelectedItem.Value.TrimEnd() + ")";
}
var usersquery = (
from physical in dbContext.Physicals
join user in dbContext.User on physical.UserID equals user.UserID
join photos in dbContext.Photo on User.UserID equals photos.UserID
where photos.PhotoNum == 1 && photos.Status == true
// ======= Add dbwhere here ============
select new
{
photos.PhotoURL,
photos.PhotoDescription,
user.State,
user.Country,
physical.EyesColor,
physical.HairColorInfo,
physical.HairTypeInfo,
physical.BodyHeight,
physical.BodyWeight,
}).ToList();
巨大なデータがあり、これはうまくいきます。ありがとうございました。 – dotNETEngineer
@dotNETEngineerあなたが初めて 'usersquery'を作成したときに、実際にデータが取得されることはありません。 'ToList()'メソッドを使ってすべてのフィルタ(存在する場合)を適用した後にのみ、データが照会されます。だから私のアプローチは一度だけdbをクエリします。 –
ここでいくつかのキャスティングの問題が発生しましたが、私は調査中です... var race = ddlRace.SelectedItem.Value.TrimEnd(); photosquery = photosquery.Where(x => x.Race == race); GeneralList – dotNETEngineer