1

我有 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();
}

然后,当我添加带有帐户的用户时,它允许我添加空帐户,即此代码将起作用

using(var db = new SecurityDbContext())
            {
                var user = db.Users.Add(new User
                                            {
                                                FirstName = "John",
                                                LastName = "Rambo"
                                            });
                db.SaveChanges();
            }

如果在我的 UserConfiguration 模型中我根据需要设置了 Account,为什么 Account 为空?

那么我如何才能使用户与帐户 1:1 建立关系?

提前致谢。

4

0 回答 0