Csharp/C#教程:entity framework代码优先 – 如何在保存时忽略列分享


entity framework代码优先 – 如何在保存时忽略列

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

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

您可以将DatabaseGeneratedAttributeDatabaseGeneratedOption.Computed选项一起使用:

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

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

 public class EntitiesContext : DbContext { public DbSet Enities { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity().Property(e => e.ComputedProperty).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed); } } 

将属性标记为已计算:

上述就是C#学习教程:entity framework代码优先 – 如何在保存时忽略列分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 modelBuilder .Entity() .Property(_ => _.MyProperty) .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/988559.html

(0)
上一篇 2021年12月24日
下一篇 2021年12月24日

精彩推荐