【发布时间】:2015-09-16 01:38:39
【问题描述】:
我即将创建一个以 UUID 作为其唯一键(不是主键)的申请表。
我得到了错误:
EntityFramework.SqlServer.dll 中出现“System.Data.Entity.Core.EntityCommandExecutionException”类型的异常,但未在用户代码中处理 附加信息:执行命令定义时出错。有关详细信息,请参阅内部异常。
到数据库的连接字符串:
connectionString="Data Source=(localdb)\v11.0;
Initial Catalog=FormsContext;
Integrated Security=True;
MultipleActiveResultSets=True;
AttachDbFilename=|DataDirectory|Forms.mdf"
providerName="System.Data.SqlClient"
FormsContext.cs:
namespace ApplicationForm.Models
{
public class FormsContext : DbContext
{
public FormsContext() : base("name=FormsContext")
{
}
public System.Data.Entity.DbSet<ApplicationForm.Models.Form> Forms { get; set; }
...
数据库是这样的:
FormsContext->Forms->{id,uuid,first,last...}
我不太确定这次发生了什么。有人可以帮我解决这个问题吗?
编辑/解决
我不确定如何检查内部异常,我对此进行了一些研究。所以当我阅读 Inner Exception 中的错误信息时,我可以解决我的问题。
我发现了错误是什么。查询字段是“名”,但我的表列名是“名”。他们不匹配。一旦我更改了数据库列名,它就可以再次工作了。
【问题讨论】:
-
Additional information: An error occurred while executing the command definition. See the inner exception for details.检查内部异常了吗?请发布完整的异常消息 + 堆栈跟踪。 -
您的数据库在 EF 尝试运行以选择您的模型的查询中引发异常。具体的 SQL 异常将包含在内部异常中。
-
@sstan,你是对的。我之前不确定如何检查内部异常。我做了一些研究,发现查询'firstname'与我的数据库表列名'first'不匹配。谢谢。
-
您可以在答案部分为您自己的问题提供答案。或者将我的设置为答案......由你决定。无论如何表明这不是一个悬而未决的问题。 :-)
标签: c# entity-framework