我有實體框架代碼,如下所示。我在哪裏出現以下錯誤條件。使用「where」:無法將lambda表達式轉換爲類型'bool'
無法轉換lambda表達式「BOOL」類型,因爲它不是一個委託類型
如何克服這個問題?這個錯誤的原因是什麼?
static void Main(string[] args)
{
ClubCreation();
List<Club> selectedClubs = GetClubs("club1");
}
public static void ClubCreation()
{
string connectionstring = "Data Source=.;Initial Catalog=NerdDinners;Integrated Security=True;Connect Timeout=30";
using (var db = new NerdDinners(connectionstring))
{
Club club1 = new Club();
club1.ClubName = "club1";
Club club2 = new Club();
club2.ClubName = "club2";
Club club3 = new Club();
club3.ClubName = "club3";
db.Clubs.Add(club1);
db.Clubs.Add(club2);
db.Clubs.Add(club3);
int recordsAffected = db.SaveChanges();
}
}
public static List<Club> GetClubs(string clubName)
{
string connectionstring = "Data Source=.;Initial Catalog=NerdDinners;Integrated Security=True;Connect Timeout=30";
using (var db = new NerdDinners(connectionstring))
{
Club club1 = new Club();
Club club2 = new Club();
Club club3 = new Club();
var query = from o in db.Clubs
where (p => p.ClubName == "club1")
select o;
return query.ToList();
}
}
'p'應該是什麼?在我看來,就像您在LINQ查詢中使用的「o」的拼寫錯誤。 – BoltClock 2012-07-25 07:54:42
爲什麼你在你的情況下對''club1''進行硬編碼而不是使用'clubName'參數? – 2012-07-25 07:55:34