我正在将实体框架与 MongoDB 结合使用。我有一堂课,
Account
,具有以下字段:
private readonly byte[] salt;
帐户在实体框架中配置如下:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Account>().ToCollection("accounts");
}
当我将
Account
保存到我的数据库时,相应的文档没有 salt
。
如何使用实体框架在数据库中存储字段或属性,同时保持其私有?
您应该实现一个支持字段。
Salt
属性:salt
。internal class Account : SignInCredentials
{
private readonly byte[] salt;
public byte[] Salt
{
get { return salt; }
}
...
}
Salt
。internal class MongoDataContext : DbContext
{
...
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Account>()
.Property(x => x.Salt)
.HasField("salt");
modelBuilder.Entity<Account>()
.ToCollection("accounts");
}
}