问题描述
我实现了ASP.NET MVC(.NET Framework)身份,并且注册页面和登录身份验证页面已按预期自动生成。
执行此操作时,出现此错误>视图模型中未定义键
public class Registerviewmodel
{
[Key]
public string Id { get; set; }
....
}
但仍然会出现相同的错误。
请告知
解决方法
主键应该唯一标识一行。使用字符串作为主键并不常见。
如果确实有意义并且字符串是您表的唯一唯一标识符,那么您必须让实体框架知道您的键不是标识列,因为默认情况下它会尝试将此属性应用于 [Key]列。
阅读更多关于 T-SQL 中的 IDENTITY
https://docs.microsoft.com/en-us/sql/t-sql/statements/create-table-transact-sql-identity-property?view=sql-server-ver15
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public string FooId { get; set; }
综上所述,您可能应该使用 integer
或 Guid
您需要将您的属性 ID 从字符串更改为整数