我正在尝试在 MVC4 中使用模型优先实体框架。想禁用实体模型中某些属性的创建,这些属性只假设用作视图模型。我将动态填充控制器中的模型属性。
我可以知道我应该为这些属性添加什么注释属性吗?
如果无法做到这一点,那么我必须创建一个单独的 ViewModel 来执行此操作。但是,视图模型仍然会有与实体模型链接的其他属性,将它们映射在一起的最佳方法是什么?谢谢。
我正在尝试在 MVC4 中使用模型优先实体框架。想禁用实体模型中某些属性的创建,这些属性只假设用作视图模型。我将动态填充控制器中的模型属性。
我可以知道我应该为这些属性添加什么注释属性吗?
如果无法做到这一点,那么我必须创建一个单独的 ViewModel 来执行此操作。但是,视图模型仍然会有与实体模型链接的其他属性,将它们映射在一起的最佳方法是什么?谢谢。
您可能想尝试 [NotMapped] 属性来告诉 EF 不要保存属性。就像是:
public class MyEntity {
public int Id {get; set;} // will be stored as a column in the DB
[NotMapped]
public int MyProperty {get; set;} // will not be stored as a column in the DB
}
实体框架设计器创建持久实体的模型。通过此设计器添加的所有属性都将保留。设计者为每个建模实体创建部分类。如果您想为您的视图提供额外的非持久属性,您可以为只有非持久属性的实体创建自己的类的部分部分(持久属性已经是自动生成部分的一部分),或者您可以创建专门的具有您需要的所有属性的视图模型。