C# 实体框架5 MVC 4-支架错误-无键
首先我必须说我是一个MVC和EF的新手。我首先使用数据库创建了模型,并选择了两个表用户---->用户详细信息(相关) 模型生成得很好,验证得很好,如果我尝试进行简单的数据访问,效果也很好 现在,当我尝试将其与MVC4脚手架和选择的新控制器/EF框架添加/更新/删除等结合起来时,我将用户模型+用户上下文放入其中,它抱怨自动生成的模型没有键 实体类型-“用户”没有密钥。因此,我打开模型,看到实际上有一个键,它勾选了实体键复选框,以及属性旁边的小“键”符号 我到处都找过了唯一有效的解决方案是手动打开User.cs并将[Key]属性放在密钥旁边-这对我来说很可怕,因为这个文件显然是自动生成的,我不想对每个密钥都这样做?我做错什么了吗 尽管我离题了,但现在我已经将密钥添加到User和UserDetails cs文件中,它不再抱怨,现在开始抱怨: 无法检索用户的元数据。无法确定用户和UserDetail之间关联的原则结束。必须使用关系fluent API或数据注释显式配置此关联的原则端 我现在有两个问题:C# 实体框架5 MVC 4-支架错误-无键,c#,asp.net-mvc,entity-framework,scaffolding,C#,Asp.net Mvc,Entity Framework,Scaffolding,首先我必须说我是一个MVC和EF的新手。我首先使用数据库创建了模型,并选择了两个表用户---->用户详细信息(相关) 模型生成得很好,验证得很好,如果我尝试进行简单的数据访问,效果也很好 现在,当我尝试将其与MVC4脚手架和选择的新控制器/EF框架添加/更新/删除等结合起来时,我将用户模型+用户上下文放入其中,它抱怨自动生成的模型没有键 实体类型-“用户”没有密钥。因此,我打开模型,看到实际上有一个键,它勾选了实体键复选框,以及属性旁边的小“键”符号 我到处都找过了唯一有效的解决方案是手动打开U
Users
和UserDetails
之间的关系,您可以尝试以下操作,这就是我为解决错误所做的操作:
在您的Web.config文件(根文件,位于解决方案资源管理器的最末端)中,从以下位置更改连接字符串中的name
<connectionStrings>
<add name="YourContext" connectionString="Data Source=|DataDirectory|YourNamespace.Models.YourDBName.sdf" providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>
,我问了一个类似的问题。使用的键如下:
public class Item()
{
[Key]
public int Id {get;set;}
public string Name {get;set;}
}
该键用于告诉实体这是带有数据注释的主键。我有一个想法:作为该键的适当性有一个“{get;set;}”?如果没有,EF和脚手架就不能工作
public class Item()
{
[Key]
public int Id {get;set;}
public string Name {get;set;}
}