Linq to Cql问题在C#表单应用程序与.mdf数据库

时间:2011-12-05 23:13:58

标签: c# linq linq-to-sql

我遇到了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'

任何人都能提供的任何信息都会很棒。我已经尝试了很多不同的方法来完成这个并提出同样的错误。

3 个答案:

答案 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;