我遇到了C#表单应用程序的问题。我正在连接到.mdf数据库,并尝试查询名为SpotLanding的列,这是一个bool,然后计算真实的数字。它位于LogbookDatabase.mdf中,位于表EnterTable中。以下是我到目前为止的情况:
private void SpotLandingButton_Click(object sender, EventArgs e)
{
DataContext db = new DataContext(@"C:\LogbookDatabase.mdf");
Table<EnterTable> entrytable = db.GetTable<EnterTable>();
var spot = (from SpotLanding in entrytable
where SpotLanding = true
select SpotLanding).Count;
return spot;
}
这是它给我的错误;
无法将类型'bool'隐式转换为'ParagliderLogBook.EnterTable'
任何人都能提供的任何信息都会很棒。我已经尝试了很多不同的方法来完成这个并提出同样的错误。
答案 0 :(得分:1)
您需要访问对象的SpotLanding
成员(顺便说一句,不也应该被称为SpotLanding
,因为这只是令人困惑)。
此外,您可以使用the overload of Count
that takes a predicate更简洁地编写查询:
int spot = entrytable.Count(x => x.SpotLanding);
答案 1 :(得分:1)
where SpotLanding = true
你试图分配一个布尔值而不是比较它。
where SpotLanding == true
答案 2 :(得分:1)
您需要使用==运算符而不是=
var spot = (from SpotLanding in entrytable
where SpotLanding == true
select SpotLanding).Count;