私のデータベースには、レストラン、料理、施設、料理の4つのテーブルがあります。これらのテーブルからデータを返すテーブルアダプターを作成しました。今、私は料理、施設、または料理のユーザー選択に基づいてデータをフィルタリングし、結果のレストランを返す必要があります。これが私の質問です:
public string alldata(string location, string cuisines, string facility)
{
location = location.Replace('|', ',');
facility = facility.Replace('|', ',');
cuisines = cuisines.Replace('|', ',');
string loc; string data = null; int id;
DataSet3.DataTable1DataTable all = getall.GetAllData();
IEnumerable<DataRow> query = from resturants in all.AsEnumerable()
where ((location.Contains(resturants.City)) && (facility.Contains(resturants.FacilityName) && (cuisines.Contains(resturants.Type))))
select resturants;
foreach (DataSet3.DataTable1Row item in query)
{
name = item.Name;
loc = item.Location;
id = item.RestaurantID;
data += name + "%" + loc +"%"+id+ "?";
}
return data;
}
このクエリは重複するエントリを返し、ANDを選択に適用しません。ハマった。私を助けてください。