如何保存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 与显示的方式相同。
有时当我在数据库中更新,然后从数据库中更新模型 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 与显示的方式相同。