【问题标题】:Retrieve data from database and return into text box using Entity Framework使用实体框架从数据库中检索数据并返回到文本框中
【发布时间】:2018-11-16 15:32:24
【问题描述】:
using (var db = new CrabContext())
{
    var query = db.Reading.Select(s => new
                                       { s.Left1 })
                          .Select(x => x.ToString());
    t1.Text = query;
    //t1.Text == db.Reading.Select(s => new { s.Left1 });
}

我在这里尝试按照上述方法从数据库中检索数据,但我的 t1.Text 无法检索数据,但出现类似

的错误

无法将类型“System.Linq.IQueryable”隐式转换为“String”

【问题讨论】:

    标签: c# database entity-framework uwp


    【解决方案1】:

    这是因为.Select()返回一个IQueryable,一个IQueryable是不可访问的,因为没有指定数据的类型所以只能在编译时访问,如果你想直接有值更喜欢使用@ 987654324@你可以在里面传递一个lambda表达式来检索一个特定的对象。

    using (var db = new CrabContext())
    {
        var query = db.Reading.FirstOrDefault();
        t1.Text = query.Left1;
    }
    

    但是通过我提供的解决方案,对 Db 的调用是 SELECT * FROM Reading,然后您访问属性 Left1 使用IQueryable,查询为SELECT Left1 FROM Reading,但您无法访问该属性... 另一种解决方案是在查询结束时调用.toList()...

    【讨论】:

    • 如果您使用的是FirstOrDefault,那么最好包含null 检查,以便OP 能够理解。
    猜你喜欢
    • 2017-03-03
    • 1970-01-01
    • 2012-06-11
    • 2014-02-28
    • 1970-01-01
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多