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" />

私が得るエラーは

'mvcapplication2.models.tusers' のメタデータを取得できません。モデルの生成中に 1 つ以上の検証エラーが検出されました:

エンティティ タイプのユーザーには、防御されたキーはありません。

また、モデル名はテーブル名と正確に一致する必要がありますか?

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 に答える