gpt4 book ai didi

c# - Entity Framework Code First - 保存时如何忽略列

转载 作者:太空狗 更新时间:2023-10-29 22:19:28 26 4
gpt4 key购买 nike

我首先使用 Entity Framework 代码将一个名为 Client 的类映射到数据库表。该表有一个计算字段,我需要在我的 Client 类中使用它,但我知道无法写入该字段。有没有一种方法可以配置 Entity Framework 在保存时忽略该属性,但在读取时包括该属性?

我曾尝试在我的配置类中使用 Ignore 方法,或使用 [NotMapped] 属性,但这些都阻止了从数据库中读取该属性。

最佳答案

您可以使用 DatabaseGeneratedAttribute使用 DatabaseGeneratedOption.Computed 选项:

[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public ComputedPropertyType ComputedProperty { get; set; }

或者如果您更喜欢流畅的 api,您可以使用 HasDatabaseGeneratedOption DbContext 类中的方法:

public class EntitiesContext : DbContext
{
public DbSet<EntityType> Enities { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<EntityType>().Property(e => e.ComputedProperty).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed);
}
}

关于c# - Entity Framework Code First - 保存时如何忽略列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15829523/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com