LINQ 语句返回"Invalid object name"错误



我对LINQ完全陌生。我只是想做一些简单的事情,但我遇到了一个错误:

对象名称"dbo.grupyTowarowe"无效。

我可以在几分钟前发誓这是有效的,我没有改变任何事情。

这是代码:

var papier = from GrupyTowarowe in dbContext.grupyTowarowes
             where GrupyTowarowe.typ == "moneta"
             select new
             {
                 GrupyTowarowe.grupa
             };
dataGridView1.DataSource = papier;

错误显示在DataGridView上。

检查'grupyTowarowe'的架构-如果您移动到不同的数据库,它可能会有所不同。例如,您的开发数据库可能将其作为模式"dbo",但下一个数据库可以在不同的模式下创建对象。如果是这种情况,请在SSMS中使用ALTER SCHEMA命令。

使用"select"创建匿名对象时,必须分配给字段,以便可以引用该字段。

select new
{
   Grupa = GrupyTowarowe.grupa
}

然而,看起来你想要的只是结果。在这种情况下,您不创建对象,只需选择返回的对象即可。

var papier = from GrupyTowarowe in dbContext.grupyTowarowes
             where GrupyTowarowe.typ == "moneta"
             select GrupyTowarowe;

更正:

匿名类的原始语法是合法的。我已经生活和呼吸这种东西十多年了。我只是从来没有尝试过这种语法。你每天都在学习新东西。

更新:

这个答案大多是不正确的,特别是因为OP的错误与实体框架有关,而不是与Linq有关。但我要离开它(可以随意否决),因为有一些有用的评论可以解释为什么答案是错误的。

相关内容

  • 没有找到相关文章

最新更新