实体框架错误 - “类型参数'命名空间...实体名称'不满足'TEntity'类型的'类'约束。”

时间:2011-02-28 21:20:54

标签: vb.net sql-server-2008 entity-framework-4

我定义了以下两个表...

CREATE TABLE [LogLevel] (
  [Id] int primary key
  ,[Name] nvarchar(50) not null
  ,[Enabled] bit not null default (0)
)
GO

CREATE TABLE [Log] (
  [Id] bigint identity(1,1) primary key
  ,[LogLevel] int not null foreign key references [LogLevel]([Id])
  ,[On] datetimeoffset not null default (SYSDATETIMEOFFSET())
  ,[Summary] nvarchar(100)
  ,[Details] nvarchar(MAX)
)

创建新的endity模型后,我添加上面的两个表。当我尝试构建时,我得到以下错误......

  • 类型参数'Inxsol.CommandPlan.Data.Model.Log.LogLevel'不满足类型参数'TEntity'的'Class'约束。
  • 类型'System.Data.Objects.DataClasses.EntityReference(Ofxsol.CommandPlan.Data.Model.LogLevel)'的值无法转换为'System.Data.Objects.DataClasses.EntityReference(Inxsol.CommandPlan.Data) .Model.Log.LogLevel)”。
  • 类型'System.Data.Objects.DataClasses.EntityReference(Ofxsol.CommandPlan.Data.Model.Log.LogLevel)'的值无法转换为'System.Data.Objects.DataClasses.EntityReference(Ofxsol.CommandPlan) .Data.Model.LogLevel)”。
  • 已超出最大错误数。
  • 1 个答案:

    答案 0 :(得分:0)

    好的,希望其他人可以发布一个更好的答案,但显然这个问题与表[LogLevel]的名称或表[Log]的名称有关...在任何一种情况下,都将它们重命名为[DiagnosticLog]和[DiagnosticLogLevel]解决了手头的问题。