Bagikan melalui


PropertyBuilder Kelas

Definisi

Menyediakan API sederhana untuk mengonfigurasi IMutableProperty.

public class PropertyBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.IMutableModel>, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalPropertyBuilder>
public class PropertyBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalPropertyBuilder>
public class PropertyBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionPropertyBuilder>
type PropertyBuilder = class
    interface IInfrastructure<IMutableModel>
    interface IInfrastructure<InternalPropertyBuilder>
type PropertyBuilder = class
    interface IInfrastructure<InternalPropertyBuilder>
type PropertyBuilder = class
    interface IInfrastructure<IConventionPropertyBuilder>
Public Class PropertyBuilder
Implements IInfrastructure(Of IMutableModel), IInfrastructure(Of InternalPropertyBuilder)
Public Class PropertyBuilder
Implements IInfrastructure(Of InternalPropertyBuilder)
Public Class PropertyBuilder
Implements IInfrastructure(Of IConventionPropertyBuilder)
Warisan
PropertyBuilder
Turunan
Penerapan
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalPropertyBuilder> IInfrastructure<IConventionPropertyBuilder>

Keterangan

Instans kelas ini dikembalikan dari metode saat menggunakan ModelBuilder API dan tidak dirancang untuk langsung dibangun dalam kode aplikasi Anda.

Lihat Pemodelan jenis entitas dan hubungan untuk informasi dan contoh selengkapnya.

Konstruktor

PropertyBuilder(IMutableProperty)

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Core Kerangka Kerja Entitas baru.

PropertyBuilder(InternalPropertyBuilder)

API ini mendukung infrastruktur Entity Framework Core dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. API ini dapat berubah atau dihapus dalam rilis mendatang.

Properti

Metadata

Properti sedang dikonfigurasi.

Metode

HasAnnotation(String, Object)

Menambahkan atau memperbarui anotasi pada properti . Jika anotasi dengan kunci yang ditentukan di annotation sudah ada, nilainya akan diperbarui.

HasConversion(Type)

Mengonfigurasi properti sehingga nilai properti dikonversi sebelum menulis ke database dan dikonversi kembali saat membaca dari database.

HasConversion(Type, Type)

Mengonfigurasi properti sehingga nilai properti dikonversi sebelum menulis ke database dan dikonversi kembali saat membaca dari database.

HasConversion(Type, Type, Type)

Mengonfigurasi properti sehingga nilai properti dikonversi sebelum menulis ke database dan dikonversi kembali saat membaca dari database.

HasConversion(Type, ValueComparer)

Mengonfigurasi properti sehingga nilai properti dikonversi sebelum menulis ke database dan dikonversi kembali saat membaca dari database.

HasConversion(Type, ValueComparer, ValueComparer)

Mengonfigurasi properti sehingga nilai properti dikonversi sebelum menulis ke database dan dikonversi kembali saat membaca dari database.

HasConversion(ValueConverter)

Mengonfigurasi properti sehingga nilai properti dikonversi ke dan dari database menggunakan yang diberikan ValueConverter.

HasConversion(ValueConverter, ValueComparer)

Mengonfigurasi properti sehingga nilai properti dikonversi ke dan dari database menggunakan yang diberikan ValueConverter.

HasConversion(ValueConverter, ValueComparer, ValueComparer)

Mengonfigurasi properti sehingga nilai properti dikonversi ke dan dari database menggunakan yang diberikan ValueConverter.

HasConversion<TConversion,TComparer,TProviderComparer>()

Mengonfigurasi properti sehingga nilai properti dikonversi sebelum menulis ke database dan dikonversi kembali saat membaca dari database.

HasConversion<TConversion,TComparer>()

Mengonfigurasi properti sehingga nilai properti dikonversi sebelum menulis ke database dan dikonversi kembali saat membaca dari database.

HasConversion<TConversion>()

Mengonfigurasi properti sehingga nilai properti dikonversi sebelum menulis ke database dan dikonversi kembali saat membaca dari database.

HasConversion<TConversion>(ValueComparer)

Mengonfigurasi properti sehingga nilai properti dikonversi sebelum menulis ke database dan dikonversi kembali saat membaca dari database.

HasConversion<TConversion>(ValueComparer, ValueComparer)

Mengonfigurasi properti sehingga nilai properti dikonversi sebelum menulis ke database dan dikonversi kembali saat membaca dari database.

HasField(String)

Mengatur bidang dukungan yang akan digunakan untuk properti ini.

HasMaxLength(Int32)

Mengonfigurasi panjang maksimum data yang dapat disimpan dalam properti ini. Panjang maksimum hanya dapat diatur pada properti array (termasuk String properti).

HasPrecision(Int32)

Mengonfigurasi presisi properti.

HasPrecision(Int32, Int32)

Mengonfigurasi presisi dan skala properti.

HasSentinel(Object)

Mengonfigurasi nilai yang akan digunakan untuk menentukan apakah properti telah ditetapkan atau belum. Jika properti diatur ke nilai sentinel, maka dianggap tidak diatur. Secara default, nilai sentinel adalah nilai default CLR untuk jenis properti .

HasValueGenerator(Func<IProperty,IEntityType,ValueGenerator>)

Mengonfigurasi pabrik untuk membuat yang ValueGenerator akan digunakan guna menghasilkan nilai untuk properti ini.

HasValueGenerator(Func<IProperty,ITypeBase,ValueGenerator>)

Mengonfigurasi pabrik untuk membuat yang ValueGenerator akan digunakan guna menghasilkan nilai untuk properti ini.

HasValueGenerator(Type)

ValueGenerator Mengonfigurasi yang akan menghasilkan nilai untuk properti ini.

HasValueGenerator<TGenerator>()

ValueGenerator Mengonfigurasi yang akan menghasilkan nilai untuk properti ini.

HasValueGeneratorFactory(Type)

ValueGeneratorFactory Mengonfigurasi untuk membuat yang ValueGenerator akan digunakan untuk menghasilkan nilai untuk properti ini.

HasValueGeneratorFactory<TFactory>()

ValueGeneratorFactory Mengonfigurasi untuk membuat yang ValueGenerator akan digunakan untuk menghasilkan nilai untuk properti ini.

IsConcurrencyToken(Boolean)

Mengonfigurasi apakah properti ini harus digunakan sebagai token konkurensi. Ketika properti dikonfigurasi sebagai token konkurensi, nilai dalam database akan diperiksa ketika instans jenis entitas ini diperbarui atau dihapus selama SaveChanges() untuk memastikannya tidak berubah sejak instans diambil dari database. Jika telah berubah, pengecualian akan dilemparkan dan perubahan tidak akan diterapkan ke database.

IsRequired(Boolean)

Mengonfigurasi apakah properti ini harus memiliki nilai yang ditetapkan atau null merupakan nilai yang valid. Properti hanya dapat dikonfigurasi sebagai tidak diperlukan jika didasarkan pada jenis CLR yang dapat ditetapkan null.

IsRowVersion()

Mengonfigurasi properti sebagai ValueGeneratedOnAddOrUpdate() dan IsConcurrencyToken(Boolean).

IsUnicode(Boolean)

Mengonfigurasi apakah properti mampu mempertahankan karakter unicode. Hanya dapat diatur pada String properti.

UsePropertyAccessMode(PropertyAccessMode)

Menyetel yang PropertyAccessMode akan digunakan untuk properti ini.

Secara default, bidang backing, jika ditemukan oleh konvensi atau telah ditentukan, digunakan saat objek baru dibangun, biasanya ketika entitas dikueri dari database. Properti digunakan untuk semua akses lainnya. Memanggil metode ini akan mengubah perilaku tersebut untuk properti ini seperti yang dijelaskan dalam PropertyAccessMode enum.

Memanggil metode ini menimpa properti ini mode akses apa pun yang diatur pada jenis atau model entitas.

UsePropertyAccessMode(PropertyAccessMode)

Menyetel yang PropertyAccessMode akan digunakan untuk properti ini.

ValueGeneratedNever()

Mengonfigurasi properti agar tidak pernah memiliki nilai yang dihasilkan oleh database saat instans jenis entitas ini disimpan.

ValueGeneratedOnAdd()

Mengonfigurasi properti agar memiliki nilai yang dihasilkan hanya saat menyimpan entitas baru, kecuali nilai non-null dan non-sementara telah ditetapkan, dalam hal ini nilai yang ditetapkan akan disimpan sebagai gantinya. Nilai dapat dihasilkan oleh generator nilai sisi klien atau dapat dihasilkan oleh database sebagai bagian dari penyimpanan entitas.

ValueGeneratedOnAddOrUpdate()

Mengonfigurasi properti agar memiliki nilai yang dihasilkan saat menyimpan entitas baru atau yang sudah ada.

ValueGeneratedOnUpdate()

Mengonfigurasi properti agar memiliki nilai yang dihasilkan saat menyimpan entitas yang ada.

ValueGeneratedOnUpdateSometimes()

Mengonfigurasi properti agar memiliki nilai yang dihasilkan dalam kondisi tertentu saat menyimpan entitas yang ada.

Implementasi Antarmuka Eksplisit

IInfrastructure<IConventionPropertyBuilder>.Instance

Penyusun internal yang digunakan untuk mengonfigurasi properti .

IInfrastructure<IMutableModel>.Instance

Model milik properti.

IInfrastructure<InternalPropertyBuilder>.Instance

Penyusun internal yang digunakan untuk mengonfigurasi properti .

Metode Ekstensi

IsETagConcurrency(PropertyBuilder)

Mengonfigurasi properti ini menjadi token konkurensi etag.

ToJsonProperty(PropertyBuilder, String)

Mengonfigurasi nama properti tempat properti dipetakan saat menargetkan Azure Cosmos.

GetInfrastructure<T>(IInfrastructure<T>)

Mendapatkan nilai dari properti yang sedang disembunyikan menggunakan IInfrastructure<T>.

Metode ini biasanya digunakan oleh penyedia database (dan ekstensi lainnya). Ini umumnya tidak digunakan dalam kode aplikasi.

HasColumnName(PropertyBuilder, String)

Mengonfigurasi kolom yang dipetakan properti saat menargetkan database relasional.

HasColumnOrder(PropertyBuilder, Nullable<Int32>)

Mengonfigurasi urutan kolom tempat properti dipetakan.

HasColumnType(PropertyBuilder, String)

Mengonfigurasi jenis data kolom yang dipetakan properti saat menargetkan database relasional. Ini harus menjadi nama jenis lengkap, termasuk presisi, skala, panjang, dll.

HasComment(PropertyBuilder, String)

Mengonfigurasi komentar untuk diterapkan ke kolom

HasComputedColumnSql(PropertyBuilder)

Mengonfigurasi properti untuk memetakan ke kolom komputasi saat menargetkan database relasional.

HasComputedColumnSql(PropertyBuilder, String)

Mengonfigurasi properti untuk memetakan ke kolom komputasi saat menargetkan database relasional.

HasComputedColumnSql(PropertyBuilder, String, Nullable<Boolean>)

Mengonfigurasi properti untuk memetakan ke kolom komputasi saat menargetkan database relasional.

HasDefaultValue(PropertyBuilder)

Mengonfigurasi nilai default untuk kolom yang dipetakan properti saat menargetkan database relasional.

HasDefaultValue(PropertyBuilder, Object)

Mengonfigurasi nilai default untuk kolom yang dipetakan properti saat menargetkan database relasional.

HasDefaultValueSql(PropertyBuilder)

Mengonfigurasi ekspresi nilai default untuk kolom yang dipetakan properti saat menargetkan database relasional.

HasDefaultValueSql(PropertyBuilder, String)

Mengonfigurasi ekspresi nilai default untuk kolom yang dipetakan properti saat menargetkan database relasional.

HasJsonPropertyName(PropertyBuilder, String)

Mengonfigurasi properti entitas yang dipetakan ke kolom JSON, memetakan properti entitas ke properti JSON tertentu, daripada menggunakan nama properti entitas.

IsFixedLength(PropertyBuilder, Boolean)

Mengonfigurasi properti karena hanya mampu menyimpan data dengan panjang tetap, seperti string.

UseCollation(PropertyBuilder, String)

Mengonfigurasi properti untuk menggunakan kolaset yang diberikan. Kolom database akan dibuat dengan kolase yang diberikan, dan akan digunakan secara implisit di semua operasi peka kolase.

ForSqliteHasDimension(PropertyBuilder, Ordinates)

Mengonfigurasi dimensi kolom yang dipetakan properti saat menargetkan SQLite.

ForSqliteHasDimension(PropertyBuilder, Ordinates)
Kedaluwarsa..

Mengonfigurasi dimensi kolom yang dipetakan properti saat menargetkan SQLite.

HasGeometricDimension(PropertyBuilder, Ordinates)

Mengonfigurasi dimensi kolom yang dipetakan properti saat menargetkan SQLite.

ForSqliteHasColumnName(PropertyBuilder, String)

Mengonfigurasi kolom yang dipetakan properti saat menargetkan SQLite.

ForSqliteHasColumnType(PropertyBuilder, String)

Mengonfigurasi jenis data kolom yang dipetakan properti saat menargetkan SQLite.

ForSqliteHasDefaultValue(PropertyBuilder, Object)

Mengonfigurasi nilai default untuk kolom yang dipetakan properti saat menargetkan SQLite.

ForSqliteHasDefaultValueSql(PropertyBuilder, String)

Mengonfigurasi ekspresi nilai default untuk kolom yang dipetakan properti saat menargetkan SQLite.

ForSqliteHasSrid(PropertyBuilder, Int32)
Kedaluwarsa..

Mengonfigurasi SRID kolom yang dipetakan properti saat menargetkan SQLite.

HasSrid(PropertyBuilder, Int32)

Mengonfigurasi SRID kolom yang dipetakan properti saat menargetkan SQLite.

ForSqlServerHasColumnName(PropertyBuilder, String)

Mengonfigurasi kolom yang dipetakan properti saat menargetkan SQL Server.

ForSqlServerHasColumnType(PropertyBuilder, String)

Mengonfigurasi jenis data kolom yang dipetakan properti saat menargetkan SQL Server. Ini harus menjadi nama jenis lengkap, termasuk presisi, skala, panjang, dll.

ForSqlServerHasComputedColumnSql(PropertyBuilder, String)

Mengonfigurasi properti untuk memetakan ke kolom komputasi saat menargetkan SQL Server.

ForSqlServerHasDefaultValue(PropertyBuilder, Object)

Mengonfigurasi nilai default untuk kolom yang dipetakan properti saat menargetkan SQL Server.

ForSqlServerHasDefaultValueSql(PropertyBuilder, String)

Mengonfigurasi ekspresi nilai default untuk kolom yang dipetakan properti saat menargetkan SQL Server.

ForSqlServerUseSequenceHiLo(PropertyBuilder, String, String)
Kedaluwarsa..

Mengonfigurasi properti kunci untuk menggunakan pola hi-lo berbasis urutan untuk menghasilkan nilai untuk entitas baru, saat menargetkan SQL Server. Metode ini mengatur properti menjadi OnAdd.

IsSparse(PropertyBuilder, Boolean)

Mengonfigurasi apakah kolom properti dibuat sebagai jarang saat menargetkan SQL Server.

UseHiLo(PropertyBuilder, String, String)

Mengonfigurasi properti kunci untuk menggunakan pola hi-lo berbasis urutan untuk menghasilkan nilai untuk entitas baru, saat menargetkan SQL Server. Metode ini mengatur properti menjadi OnAdd.

UseIdentityColumn(PropertyBuilder, Int32, Int32)

Mengonfigurasi properti kunci untuk menggunakan fitur SQL Server IDENTITY guna menghasilkan nilai untuk entitas baru, saat menargetkan SQL Server. Metode ini mengatur properti menjadi OnAdd.

UseIdentityColumn(PropertyBuilder, Int64, Int32)

Mengonfigurasi properti kunci untuk menggunakan fitur SQL Server IDENTITY guna menghasilkan nilai untuk entitas baru, saat menargetkan SQL Server. Metode ini mengatur properti menjadi OnAdd.

UseSequence(PropertyBuilder, String, String)

Mengonfigurasi properti kunci untuk menggunakan pola pembuatan nilai kunci berbasis urutan untuk menghasilkan nilai untuk entitas baru, saat menargetkan SQL Server. Metode ini mengatur properti menjadi OnAdd.

UseSqlServerIdentityColumn(PropertyBuilder)

Mengonfigurasi properti kunci untuk menggunakan fitur SQL Server IDENTITY guna menghasilkan nilai untuk entitas baru, saat menargetkan SQL Server. Metode ini mengatur properti menjadi OnAdd.

UseSqlServerIdentityColumn(PropertyBuilder, Int32, Int32)
Kedaluwarsa..

Mengonfigurasi properti kunci untuk menggunakan fitur SQL Server IDENTITY guna menghasilkan nilai untuk entitas baru, saat menargetkan SQL Server. Metode ini mengatur properti menjadi OnAdd.

Berlaku untuk