- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在 Entity Framework 4.3.1 中,我有以下模型,它们运行良好:
public class BaseUser
{
[Key]
[MaxLength(100)]
public string Username { get; set; }
}
[Table("AppUser")] // Ensures EF Code First uses Table-per-Type
public class AppUser : BaseUser
{
[MaxLength(200)]
public string About { get; set; }
}
升级到 EF 5.0 后,当我尝试运行此应用程序并访问关联的 DbContext 时出现以下异常:
EntityType 'AppUser' has no key defined. Define the key for this EntityType.
如何解决这个问题?这似乎是一种倒退。
最佳答案
此异常是由混合 EF 版本引起的。
BaseUser 是在使用 EF 4.3.1 的共享项目中定义的。 AppUser 在一个使用 EF 5.0 的项目中。这个令人困惑的异常是尝试从尚未升级到 EF 5.0 的项目中的模型继承的结果。拆分共享项目并升级此处引用的项目解决了该问题。
如果其他人遇到这个问题,值得指出的是升级有点尴尬。由于 NuGet 似乎没有注意到升级的需要,它允许您在其上安装 EF 5.0,在安装后将新版本列为 4.4,并要求您在模型类中包含以下两个 using 语句,因为一些 EF 数据注释被移动(重定向),一些没有:
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
关于c# - Entity Framework 4.3.1 -> 5.0 异常 : "EntityType has no key defined. Define the key for this EntityType.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12334044/
我刚刚开始使用 BreezeJS,并将 HotTowel 模板与 Asp.Net Web Api 和 EF 结合使用 我已经尝试使用 manager.getEntityByKey 检索记录,使用 ht
我的代码在 Solution.Models.Worker 中: using System; using System.Collections.Generic; using System.Linq; u
请帮我解决这个问题。我已经坐了 2 天了,不知道我哪里做错了。我在下面看过这篇文章: EntityType 'MyProfile' has no key defined. Define the key
我的模型类是 public class posts { [Key] public int AuthorId; public string author_first_name;
我不确定为什么会收到此错误消息。我在我的 sql 数据库中为其定义了一个主键。这是我的代码: [HttpPost] public ActionResult Register(RegisterM
这个问题在这里已经有了答案: EntityType has no key defined error (13 个回答) 5年前关闭。 开发一个基本的 ASP.net MVC 4 应用程序。它是一个简单
我正在使用 Entity Framework Code First 和 MVC 5。当我使用个人用户帐户身份验证创建应用程序时,我获得了一个帐户 Controller 以及所有必需的类和代码,需要使个
我有 80 个表的数据库(每个表都有主键)。我已经从数据库(添加 - 新项目 - ADO.NET 实体数据模型)在 ASP.NET MVC 项目中生成了模型。但是在生成的模型中,我有 80 个类(对于
我有一个接收参数的操作,我想打印出所有结果 public ActionResult MusicaGenero(string genero) { //should return
我正在使用 EF Code First 和 Data Scaffolding 并且有一个包含类型属性的实体 public System.Drawing.Image Image { get; set;
在 Entity Framework 4.3.1 中,我有以下模型,它们运行良好: public class BaseUser { [Key] [MaxLength(100)]
我有一个 Entity Framework Code First 模型,其中有一个未映射的列,我仍然希望在服务器和客户端之间保留该列。该模型看起来与此类似,但具有更多属性: public class
我正在创建一个应用程序,用户可以在其中通过 Facebook oAuth 登录,然后设置歌曲列表。我收到以下错误消息: BandFinderCsharp.Models.IdentityUserLogi
C# 代码(EF6 代码优先): public class ProjectSourceProject { [Key, Column(Order = 0)] //[Key, Column
我有两个类 User.php 和 Group.php,它们是从 fosuserbundle 中定义的类扩展而来的。 除此之外,我在它们之间有一个 ManyToMany 关系。 该应用程序的想法是,当我
在我的项目中,我使用一个表(用户任务)中的数据来描述创建预订记录(预订表)的数据。在表单中,我尝试接收选择列表。运行时报错: Expected argument of type "Doctrine\O
Controller : using System; using System.Collections.Generic; using System.Linq; using System.Web; us
我已将 Symfony 的 EntityType 扩展为 UserChooserType 以用于我的 User 实体和 Select2。 UserChooserType 的选择列表来自 ldap 查询
我有一个带有 EntityType 类型字段的表单: $builder->add( 'contacts', EntityType::class,
我有一个像这样的表单字段: $form->add('tags', EntityType:class, array( 'class' => Tags::class, 'multiple'
我是一名优秀的程序员,十分优秀!