40

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

一种仅存在于模型的 c# 实例中而不存在于数据库本身中的字段。

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

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

4

2 回答 2

83

只需用[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

于 2013-08-13T17:31:37.207 回答
2

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

就像是

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

    int Number { get; set; }
}

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

但不建议这样做。更多: 实体框架:添加不映射到数据库的属性

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

于 2013-08-13T17:30:54.723 回答