实体框架代码如何计算属性?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (36)

有没有办法把这个属性标记为只读的?

public class Tariff
{
    public int TariffId { get; set; }
    public int Seq { get; set; }
    public int TariffType { get; set; }
    public int TariffValue { get; set; }
    public string Title { get; set; }
    public string Description { get; set; }
    public int ChargePoint { get; set; }
    public string ChargePointText { get; set; }
}
提问于
用户回答回答于

找到了解决办法。EntityFramework提供了一个名为DatabaseGenerated的数据注释。像这样使用它:

[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public string ChargePointText { get; set; }
用户回答回答于

第一种方法是从以下位置更改映射文件中的属性设置:

this.Property(t => t.Name)
    .HasMaxLength(152);

致:

this.Property(t => t.Name)
    .HasMaxLength(152)
    .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed);

另一个选项是NotMappedAttribute可以应用于以下实体的单个属性:

public class User
{
    ...

    [NotMapped]
    public string Name
    {
        get;
        set;
    }

    ...
}

所属标签

可能回答问题的人

  • HKC

    红客学院 · 创始人 (已认证)

    27 粉丝7 提问5 回答
  • 西风

    renzha.net · 站长 (已认证)

    9 粉丝1 提问3 回答
  • 螃蟹居

    1 粉丝0 提问2 回答
  • 富有想象力的人

    2 粉丝0 提问1 回答

扫码关注云+社区

领取腾讯云代金券