3

我正在尝试创建我的第一个 mvc 类并且在开始时遇到问题。我在我的主机帐户上使用共享数据库并创建了以下类

namespace MvcApplication2.Models
{
    public class tUsers
    {

            public int UserID { get; set; }
            public string Username { get; set; }
            public string UserEmail { get; set; }
            public string UserPassword { get; set; }
            public int GroupId { get; set; }


    }

    public class tUsersDBContext : DbContext
    {
        public DbSet<tUsers> tUsers { get; set; }
    }
}

这是我的连接字符串

   <add name="DefaultConnection" connectionString="Data Source=gdfgdfgdfg;Initial Catalog=fsdf_fdsf;Persist Security Info=True;User ID=ddd_reddntal;Password=fgfggfdg" providerName="System.Data.SqlClient" />

我得到的错误是

Unable to retrieve metadata for 'mvcapplication2.models.tusers' 在模型生成过程中检测到一个或多个验证错误:

实体类型用户没有受保护的密钥。

我的模型名称还需要与我的表名称完全匹配吗?

4

2 回答 2

5

Entity Framework 无法识别您的tUsers类的主键属性。UserID用属性注释Key属性。如果您的表名与类名不同,请使用该Table属性来指定表名。

尝试对类名使用正确的命名约定。User在这种情况下,它不应该tUsers

[Table("MyTableName")]
public class tUsers
{       
        [Key]
        public int UserID { get; set; }
        public string Username { get; set; }
        public string UserEmail { get; set; }
        public string UserPassword { get; set; }
        public int GroupId { get; set; }
}
于 2012-08-14T04:21:47.130 回答
0

请确保您已将 Id 定义为表中的主键,并确保您为模型类正确定义了属性。除了应用程序提供的 DefaultConnection 之外,还请将您的正确连接字符串添加到配置文件中。我希望这将有所帮助。

谢谢

于 2014-02-03T03:59:27.853 回答