Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menjana Kelas C# Secara Pemrograman daripada Jadual Pelayan SQL?

Bagaimana untuk Menjana Kelas C# Secara Pemrograman daripada Jadual Pelayan SQL?

Susan Sarandon
Lepaskan: 2024-12-24 08:09:16
asal
905 orang telah melayarinya

How to Programmatically Generate C# Classes from SQL Server Tables?

Cara Menjana Kelas daripada Jadual Pangkalan Data dalam Pelayan SQL

Mencipta entiti ringkas sebagai kelas daripada objek jadual SQL Server boleh dilakukan tanpa menggunakan ORM. Kaedah ini menyediakan cara yang mudah untuk menjana struktur kelas yang sejajar dengan skema jadual.

Langkah:

  1. Tetapkan Nama Jadual: Isytiharkan pembolehubah @TableName untuk memegang nama sasaran jadual.
  2. Jana Struktur Kelas: Bina rentetan @Result dengan kurungan permulaan dan nama kelas berdasarkan nama jadual.
  3. Lelaran Atas Lajur: Dapatkan maklumat lajur (nama, jenis data, kebolehbatalan) daripada jadual sistem sys.columns dan sys.types, ditapis oleh object_id jadual sasaran.
  4. Bina Sifat Kelas: Untuk setiap lajur, tambahkan pengisytiharan sifat kelas pada @Result. Sifat termasuk nama lajur, jenis data dan aksara boleh batal pilihan (?) jika lajur membenarkan nilai nol. Jenis data ditukar kepada setara C# untuk keserasian.
  5. Jana Kod Kelas: Lengkapkan struktur kelas dengan kurungan penutup dan cetak kod yang terhasil. Ini menyediakan kelas C# yang mencerminkan skema jadual yang ditentukan.

Contoh:

Pertimbangkan jadual bernama "Orang" dengan lajur "Nama" ( rentetan) dan "Telefon" (nullable rentetan):

declare @TableName sysname = 'Person'
declare @Result varchar(max) = 'public class ' + @TableName + '
{'

select @Result = @Result + '
    public ' + ColumnType + NullableSign + ' ' + ColumnName + ' { get; set; }
'
from
(
    select 
        replace(col.name, ' ', '_') ColumnName,
        column_id ColumnId,
        case typ.name 
            when 'varchar' then 'string'
            else 'UNKNOWN_' + typ.name
        end ColumnType,
        case 
            when col.is_nullable = 1 and typ.name = 'varchar' 
            then '?' 
            else '' 
        end NullableSign
    from sys.columns col
        join sys.types typ on
            col.system_type_id = typ.system_type_id AND col.user_type_id = typ.user_type_id
    where object_id = object_id(@TableName)
) t
order by ColumnId

set @Result = @Result  + '
}'

print @Result
Salin selepas log masuk

Output:

public class Person
{
    public string Name { get; set; }
    public string? Phone { get; set; }
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menjana Kelas C# Secara Pemrograman daripada Jadual Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan