我对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有关。但我要离开它(可以随意否决),因为有一些有用的评论可以解释为什么答案是错误的。