【问题标题】:Entity Framework error - "Type argument 'Namespace...EntityName' does not satisfy the 'Class' constraint for the type 'TEntity'."实体框架错误 - “类型参数 'Namespace...EntityName' 不满足类型 'TEntity' 的 'Class' 约束。”
【发布时间】:2011-03-01 05:22:07
【问题描述】:

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

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)
)

创建一个新的端模型后,我添加了上面的两个表。当我尝试构建时,出现以下错误...

  • 类型参数“Inxsol.CommandPlan.Data.Model.Log.LogLevel”不满足类型参数“TEntity”的“类”约束。
  • “System.Data.Objects.DataClasses.EntityReference(Of Inxsol.CommandPlan.Data.Model.LogLevel)”类型的值无法转换为“System.Data.Objects.DataClasses.EntityReference(Of Inxsol.CommandPlan.Data) .Model.Log.LogLevel)'。
  • 'System.Data.Objects.DataClasses.EntityReference(Of Inxsol.CommandPlan.Data.Model.Log.LogLevel)' 类型的值无法转换为 'System.Data.Objects.DataClasses.EntityReference(Of Inxsol.CommandPlan .Data.Model.LogLevel)'。
  • 已超出最大错误数。
  • 【问题讨论】:

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


      【解决方案1】:

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

      【讨论】:

        猜你喜欢
        • 2013-09-02
        • 2019-09-19
        • 2019-09-12
        • 2021-01-28
        • 1970-01-01
        • 1970-01-01
        • 2019-02-10
        • 2015-04-01
        • 2020-10-25
        相关资源
        最近更新 更多