Share via


ModelSource 類別

定義

的實作 IModelSource ,會根據 DbSet<TEntity> 內容上公開的屬性來產生模型。 系統會快取模型,以避免每次要求時重新建立模型。

此類型通常由資料庫提供者 (和其他延伸模組) 使用。 它通常不會用於應用程式程式碼。

public abstract class ModelSource : Microsoft.EntityFrameworkCore.Infrastructure.IModelSource
public class ModelSource : Microsoft.EntityFrameworkCore.Infrastructure.IModelSource
type ModelSource = class
    interface IModelSource
Public MustInherit Class ModelSource
Implements IModelSource
Public Class ModelSource
Implements IModelSource
繼承
ModelSource
實作

備註

服務存留期為 Singleton 。 這表示許多實例都會使用 DbContext 單一實例。 實作必須是安全線程。 此服務無法相依于註冊為 Scoped 的服務。

如需詳細資訊 和範例,請參閱資料庫提供者和延伸模組的實作

建構函式

ModelSource(IDbSetFinder, ICoreConventionSetBuilder, IModelCustomizer, IModelCacheKeyFactory)

此 API 支援 Entity Framework Core 基礎結構,而且不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。

ModelSource(ModelSourceDependencies)

建立新的 ModelSource 執行個體。

屬性

CoreConventionSetBuilder

Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.ICoreConventionSetBuilder取得 ,其會建置要用來建置模型的慣例。

Dependencies

此服務的相依性。

ModelCacheKeyFactory

取得 , IModelCacheKeyFactory 建立用來儲存和查閱模型快取模型的索引鍵。

ModelCustomizer

取得 , IModelCustomizer 除了慣例所探索到的專案之外,還會執行模型的其他組態。

SetFinder

Microsoft.EntityFrameworkCore.Internal.IDbSetFinder取得 ,其會尋找 DbSet<TEntity> 衍生內容上的屬性。

方法

CreateConventionSet(IConventionSetBuilder)

建立要用於模型的慣例集。 只有在 為 Null 時 conventionSetBuilderMicrosoft.EntityFrameworkCore.Metadata.Conventions.Internal.CoreConventionSetBuilder 才使用 。

CreateModel(DbContext, IConventionSetBuilder)
已過時。.
已過時。.

建立模型。 在快取中找不到模型時,會呼叫這個方法。

CreateModel(DbContext, IConventionSetBuilder, IModelValidator)

建立模型。 在快取中找不到模型時,會呼叫這個方法。

CreateModel(DbContext, IConventionSetBuilder, IModelValidator)

建立模型。 在快取中找不到模型時,會呼叫這個方法。

CreateModel(DbContext, IConventionSetBuilder, ModelDependencies)

建立模型。 在快取中找不到模型時,會呼叫這個方法。

FindSets(ModelBuilder, DbContext)

將內容屬性中找到 DbSet<TEntity> 的實體類型新增至模型。

GetModel(DbContext, IConventionSetBuilder)
已過時。.
已過時。.

從快取傳回模型,如果模型不存在於快取中,則建立模型。

GetModel(DbContext, IConventionSetBuilder, IModelValidator)

從快取傳回模型,如果模型不存在於快取中,則建立模型。

GetModel(DbContext, IConventionSetBuilder, IModelValidator)

從快取傳回模型,如果模型不存在於快取中,則建立模型。

GetModel(DbContext, IConventionSetBuilder, ModelDependencies)
已過時。.

從快取傳回模型,如果模型不存在於快取中,則建立模型。

GetModel(DbContext, ModelCreationDependencies, Boolean)

取得要使用的模型。

適用於