我有 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 建立关系?
提前致谢。