私は2つのテーブルを持っています
ユーザー
[Id] INT NOT NULL PK IDENTITY,
[FirstName] nvarchar,
[LastName] nvarchar
and ACCOUNTS
[Id] INT NOT NULL PK,
[Password] nvarchar,
CONSTRAINT FK_Accounts_Users FOREIGN KEY (Id) REFERENCES [security].[Users] (Id)
ユーザーとプロファイルを同時に追加する必要があります。
EF FulentApi を使用して、次のようなモデルを作成します。
public UserConfiguration()
{
ToTable("Users", "Security");
HasKey(i => i.Id);
Property(i => i.Id).HasColumnName("Id");
Property(i => i.FirstName).HasColumnName("FirstName");
Property(i => i.LastName).HasColumnName("LastName");
HasRequired(i => i.Account).WithRequiredPrincipal(i => i.User);
}
public AccountConfiguration()
{
ToTable("Accounts", "Security");
HasKey(i => i.Id);
Property(i => i.Id).HasColumnName("Id");
Property(i => i.Password).HasColumnName("Password");
HasRequired(i => i.User).WithRequiredDependent();
}
次に、アカウントを持つユーザーを追加すると、null アカウントを追加できます。つまり、このコードは機能します
using(var db = new SecurityDbContext())
{
var user = db.Users.Add(new User
{
FirstName = "John",
LastName = "Rambo"
});
db.SaveChanges();
}
UserConfiguration モデルで Account を必要に応じて設定した場合、Account が null になるのはなぜですか?
では、ユーザーとアカウントを 1:1 の関係にするにはどうすればよいでしょうか?
前もって感謝します。