如果某个列不为空,如何防止实体框架更新?

时间:2017-08-10 17:20:40

标签: c# .net entity-framework

我有一个名为InsertedBy的列表。基本上,当第一次插入记录时,该列保存插入记录的人的姓名。然后它永远不会被任何未来的行更新修改。该列是C#实体中的属性,因为它需要与其余列一起读取。

如何在第一次插入后阻止EF更新此列?我在dbContext中使用SaveChanges。

2 个答案:

答案 0 :(得分:0)

我不确定您是否使用EF CodeFirst,但如果是,则以下代码可能对您有用:

    public class Human
    {
        public int Id { get; set; }
        private string insertedBy;

        public string InsertedBy
        {
            get { return insertedBy; }
            set
            {
                if (string.IsNullOrEmpty(insertedBy))
                {
                    insertedBy = value;
                }
            }
        }
        public string Name { get; set; }
    }

InsertedBy属性将不再更新。

答案 1 :(得分:0)

我去往往就是InsertBy的值。读取InsertBy的值并使用相同的值更新它。