簡體   English   中英

為什么實體框架代碼優先(使用現有數據庫)繼續嘗試從EdmMetadata表獲取數據?

[英]Why does Entity Framework Code-First (with an existing DB) keep trying get data from an EdmMetadata table?

我正在嘗試對現有數據庫執行一些實體框架代碼優先編程..但我一直在我的Sql Profiler中看到這段代碼: -

SELECT   TOP ( 1 ) [Extent1].[Id]        AS [Id],
                   [Extent1].[ModelHash] AS [ModelHash]
FROM     [dbo].[EdmMetadata] AS [Extent1]
ORDER BY [Extent1].[Id] DESC

這個EdmMetadata表到底是什么?為什么我的EF代碼試圖從那里獲取Id和ModelHash?

請記住,我正在嘗試對抗現有數據庫。

干杯:)

針對現有數據庫沒有Code-First。 如果你有數據庫,那么你首先要做數據庫。 在這種情況下,您的映射由數據庫驅動。

EdmMetadata表保留當前代碼優先模型的哈希值,它允許DbContext檢測模型的更改,以便可以重新創建數據庫。 默認情況下,此功能處於啟用狀態。 您可以通過刪除OnModelCreating約定來關閉它:

modelBuilder.Conventions.Remove<IncludeMetadataConvention>();

暫無
暫無

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

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