如何保存mvcentity framework的模型类中的代码连类都删掉了?

How to save code in the model classes of mvc entity framework even the classes deleted?

有时当我在数据库中更新,然后从数据库中更新模型 EntityFramework 类 更新后被删除,我搜索了很多解决方案,但我发现我必须删除edmx 文件并重新创建它。
我这样做了,问题解决了,但是我在模型 类 中编写的代码像验证代码一样被删除了,我是否可以保留我编写的代码,即使我删除并重新创建 edmx 文件?

每次您更改某些内容时,

EntityFramework 将 rebuild/generate 所有 classes。
如果我解决了你的问题,我建议使用元数据 classes:

public class EntityModel{
    public int Test {get; set;}
}

public class EntityModel2{
    public int Test2 {get; set;}
}

然后创建 2 个新文件:Metadata.cs 和 PartialClasses.cs

Metadata.cs

public class Metadata{
    public class EntityModelMetadata { 
        [JsonIgnore] //or whatever you need
        public int Test {get; set;}
    }

    public class EntityModel2Metadata { 
        [XmlIgnore] //or whatever you need
        public int Test2 {get; set;}
    }
}

PartialClasses.cs

namespace YourNamespace{
    [MetadataType(typeof(EntityModelMetadata))]
    public partial class EntityModel {}

    [MetadataType(typeof(EntityModel2Metadata))]
    public partial class EntityModel2 {}
}

您需要为每个要更改的模型创建 _Metadata class,并且您需要将元数据 class 与 EntityFramework class 连接到 PartialClasses.cs 与显示的方式相同。