2012-11-13 27 views
1

我正在尋找一種方式來表示某一類是不在數據庫中(代碼優先Web應用程序)的生成中使用,而不是監測其變化。換句話說,我只是想讓這個特定的類與任何自動持久化行爲斷開連接(因爲它只會在View和Controller之間用作DTO)。可能嗎?如何告訴EntityFramework不要與給定的實體混淆?

+1

爲什麼要將它整合到EF模型中?只有在_you_發生時纔會發生。 –

+0

把它列入,要麼需要通過一個DBSet在上下文引用的數據庫,或由一些東西,在DBset –

+0

@LukeMcGregor(和GertArnold)感謝澄清這對我引用的...你說得對,現在我懂了。 Context類沒有DbSet的屬性,不受EF的控制。 :) 謝謝! –

回答

2

實體框架使用您正在使用來檢測你的數據庫的預期結構的DbContext類。

有2種方式是EF將承擔一個實體在數據庫中存在。

  1. 實體直接由您的DbContext引用,EG你有
  2. 實體間接地從你的DbContext,EG引用DbSet<TEntity>(或IDbSet<TEntity>)你有一個實體引用如上其具有您的實體作爲屬性。

當一個實體被引用時,它會期望具有該實體模式的表將存在於數據庫中。通過使用屬性修飾實體或使用模型構建器,您可以隨時瞭解實際預期的模式的外觀(名稱,忽略屬性,必需/不需要等)。我個人的偏好是使用模型構建器,查看我的文章here,查看使用模型構建器獲取導航屬性的示例。

+0

再次感謝。 –

+0

@MarceloMyara沒問題:) –