web-dev-qa-db-ja.com

モデルにデータベースに追加せずにフィールドが含まれていますか?

Asp.NET MVC4アプリケーションでは、データベースに追加せずにフィールドをモデルに追加します。

モデルのc#インスタンスにのみ存在し、データベース自体には存在しないフィールドの並べ替え。

データベース自体からフィールドを除外する注釈やその他の方法はありますか?

データベースが知識を持たないランタイムで読み書きできるオブジェクトを意味します。

33
Zebedee

[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 を参照してください

66
haim770

それは、データにアクセスするために使用しているフレームワークによって異なります。 Entity Frameworkだと思います。さて、データベースにマッピングされたくないプロパティを持つ部分クラスを作成できます。

何かのようなもの

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

    int Number { get; set; }
}

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

しかし、それはお勧めできません。詳細: Entity Framework:データベースにマップしないプロパティを追加

または、Code Firstを使用している場合: Entity Framework 4.1 Code Firstのクラスプロパティを無視する

2