質問

データベースには、1対1の関係がある2つのテーブルがあります。コードの最初のアプローチを使用して、EFでそれらにアクセスしたいと思います。私はこのようなPocoクラスを書きました:

public class User
{
    public int Id { get; set; }
    public string Login { get; set; }
    public string Password { get; set; }
    public string Email { get; set; }

    public virtual Profile Profile { get; set; }
}

public class Profile
{
    public int UserId { get; set; }
    public string FullName { get; set; }
    public DateTime? Birthday { get; set; }
    public bool? Male { get; set; }
}

また、説明されているように、オンモデル作成におけるそのクラス間の関係についても説明しました ここ. 。それがどのように見えるかです:

modelBuilder.Entity<Profile>().HasKey(x => x.UserId);
modelBuilder.Entity<User>().
    HasOptional(u => u.Profile).
    WithRequired();

しかし、アプリケーションを実行するとき、ユーザーテーブルにアクセスしようとするときにこの例外を取得します。

無効な列名「user_id」

EFにこれら2つのテーブルで独自に新しいデータベースを作成させたとき、それは 同じ構造 私のものとそれが機能するように。

EF 4.3(4.2も試しました)とMS SQL 2008を使用していました。何が間違っているのですか?エンティティフレームワークのバグだとは信じられません。

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top