我正在尝试使用ADO.NET实体模型将我的C#应用程序与SQL Server compact Edition连接。
我认为我已经成功地针对数据库架构生成了模型。
但是当我尝试在代码中使用实体对象时,我得到了
EntityCommandExecutionException`是未处理的错误以及“An 执行命令定义时发生错误。看到内心 细节例外。“
这是代码
Database1Entities db = new Database1Entities();
var query = from item in db.People
select Name;
foreach (var item in query)
{
MessageBox.Show("The name of the customer is " + item);
}
它说要检查内部异常。当我检查InnerException时给了我错误
“InnerException {”此位置不允许使用参数。确保 '@'符号位于有效位置或参数有效 完全在这个SQL语句中。“} System.Exception {System.Data.SqlServerCe.SqlCeException}“
现在我完全不熟悉使用实体框架从数据库模式生成对象。我真的很感激这方面的一些指导。
答案 0 :(得分:2)
好的,所以我犯了一个非常讨厌的错误。
问题不在于实体框架或连接。
问题在于我的LINQ查询。
正确的查询是
var query = from item in db.People
select item.Name;