模型是否包含字段而不将其添加到数据库?

时间:2013-08-13 17:20:48

标签: c# asp.net asp.net-mvc database entity-framework

在我的Asp.NET MVC4应用程序中,我想在我的模型中添加一个字段而不将其添加到数据库中。

仅存在于模型的c#实例中但不存在于数据库本身中的字段的排序。

是否有任何注释或其他方法从数据库本身中排除该字段?

我的意思是我可以在运行时读取和写入的对象,数据库不知道。

2 个答案:

答案 0 :(得分:63)

只需使用[NotMapped]装饰您的字段/媒体资源。

例如:

public class MyModel
{
    public int Id { get; set; }
    public string Name { get; set; }

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

请参阅http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.schema.notmappedattribute.aspx

答案 1 :(得分:1)

这取决于您使用什么框架来访问您的数据。我假设它是实体框架。好吧,您可以使用您希望不会映射到数据库的属性创建部分类。

类似

public class Class1
{
    string Text { get; set; }

    int Number { get; set; }
}

public partial class Class1
{
    bool IsSomething { get; set; }
}

但不建议这样做。 更多: Entity Framework: add property that don't map to database

或者,如果您使用的是Code First: Ignoring a class property in Entity Framework 4.1 Code First