テーブル dbo.Users: UserId、UserName、E メール、...
テーブル dbo.Client: UserID、FirstName、LastName、...
モデル:
public class User
{
public long UserId { get; set; }
public string UserName { get; set; }
public string Email { get; set; }
public Client Client { get; set; }
...
}
public class Client
{
public long UserId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
...
}
私の DBContents には以下が含まれます。
public DbSet<User> Users { get; set; }
public DbSet<Client> Clients { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<User>()
.HasKey(x => x.UserId)
.HasRequired(x => x.Client).WithRequiredPrincipal();
modelBuilder.Entity<Client>()
.HasKey(x => x.UserId)
.ToTable("Client");
}
その結果、null クライアントを持つユーザー モデルができました。しかし、同じ UserId で Client をフェッチすると、そのモデルが満たされていることがわかります。
どうしたの?
編集:
public virtual Client Client { get; set; }