簡體   English   中英

多個表中的相同模型

[英]Same model in more than one table

我有一個類,假設它叫EntityModel ,我想用EntityModel定義的三個具有相同列的不同表。 我們將這些表tbPasttbPresenttbFuture 我也想在Entity DbContext訪問它們:

using (var db = new MyContext())
{
    var element = db.Past.Find(id);
    db.Past.Remove(element);
    db.Present.Add(element);
    db.SaveChanges();
}

具有三個表的主要目的是性能:該表將具有數百萬行,而最重要的是Present ,具有數十行。 大多數查詢將在Present表中進行。

做這個的最好方式是什么? 對我來說,實現具有相同屬性的三個模型似乎不合適。

我正在使用帶有“代碼優先”方法的Entity Framework和ASP.NET MVC 3。

您不能使用同一模型通過EF代碼優先生成單獨的表。 如果您需要進行某種分組,請使用Discriminator字段並將其賦值為以下任何值: Past Present Future

編輯:

通過每具體表類型繼承可以達到類似的效果。 因此,每種類型都有自己的表,並且可以共享大多數(如果不是全部)字段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM