[解決済み】Entity Framework 4.1 Code Firstでクラスプロパティを無視する
質問
私の理解では
[NotMapped]
属性は、現在CTP中のEF 5まで使用できないため、実運用で使用することはできません。
EF 4.1 のプロパティを無視するようにマークするにはどうすればよいですか?
UPDATEしてください。
また変なことに気がつきました。私は
[NotMapped]
属性は動作しますが、なぜかEF 4.1では
public bool Disposed { get; private set; }
でマークされています。
[NotMapped]
. このクラスは
IDisposeable
もちろん、それは重要ではありませんが、私はそれがどのように重要であるべきかを見ていない。何かご意見はありますか?
解決方法は?
を使用することができます。
NotMapped
属性データアノテーションを使用して、特定のプロパティを除外するようにコード・ファーストに指示します。
public class Customer
{
public int CustomerID { set; get; }
public string FirstName { set; get; }
public string LastName{ set; get; }
[NotMapped]
public int Age { set; get; }
}
[NotMapped]
属性が含まれます。
System.ComponentModel.DataAnnotations
名前空間を使用します。
この場合、代わりに
Fluent API
をオーバーライドして
OnModelCreating
関数で
DBContext
クラスで使用されます。
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Customer>().Ignore(t => t.LastName);
base.OnModelCreating(modelBuilder);
}
http://msdn.microsoft.com/en-us/library/hh295847(v=vs.103).aspx
私が確認したバージョンは
EF 4.3
これは、NuGet を使用する際に利用可能な最新の安定版です。
編集 : 2017年9月
Asp.NET Core(2.0)
データアノテーション
asp.net coreを使用している場合(
この記事の執筆時点では2.0
)、その
[NotMapped]
属性は、プロパティレベルで使用することができます。
public class Customer
{
public int Id { set; get; }
public string FirstName { set; get; }
public string LastName { set; get; }
[NotMapped]
public int FullName { set; get; }
}
フルエントAPI
public class SchoolContext : DbContext
{
public SchoolContext(DbContextOptions<SchoolContext> options) : base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Customer>().Ignore(t => t.FullName);
base.OnModelCreating(modelBuilder);
}
public DbSet<Customer> Customers { get; set; }
}
関連
-
[解決済み】 C# 条件演算子エラー 代入、call、increment、decrement、await、new object 式のみ文として使用可能です。
-
[解決済み】IntPtrとは一体何なのか?
-
[解決済み】「namespace」なのに「type」のように使われる。
-
[解決済み] Entity Framework 5 レコードを更新する
-
[解決済み] Entity FrameworkとLINQ to SQLの比較
-
[解決済み] Entity Frameworkにおける最速の挿入方法
-
[解決済み] Entity Frameworkで生成されたSQLを表示するにはどうすればよいですか?
-
[解決済み】Entity Framework コードファースト - 同じテーブルから2つの外部キー
-
[解決済み】Entity Framework 4.1 POCO Code Firstでvirtualキーワードはどのような効果を持つことができますか?
-
[解決済み] Entity Framework Code Firstでオブジェクトをデタッチするにはどうすればいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] エンティティタイプ ApplicationUser は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み】パディングが無効で、削除できない?
-
[解決済み】トランスポート接続からデータを読み取れない:既存の接続は、リモートホストによって強制的に閉じられました。
-
[解決済み】ORA-01008: すべての変数がバインドされていません。これらはバインドされています。
-
[解決済み】WPFでXamlファイルにコメントを追加する方法は?
-
[解決済み】Entity FrameworkからのSqlException - セッション内で他のスレッドが動作しているため、新しいトランザクションは許可されません。
-
[解決済み】aspNetCore 2.2.0 - AspNetCoreModuleV2 エラー
-
[解決済み】 C# 条件演算子エラー 代入、call、increment、decrement、await、new object 式のみ文として使用可能です。
-
[解決済み】名前 'ViewBag' が現在のコンテキストに存在しない - Visual Studio 2015
-
[解決済み】スレッド終了またはアプリケーションの要求により、I/O操作が中断されました。