我正在創建一個mini-ORM,以便在C#中更好地學習反射。從用戶定義的類創建SQL Server表
而且我想用本地&純C#,不使用實體框架或SQL Server Management Objects。
public static void CreateTable(Type tableType, string connectionString)
{
// codes to create table in database
}
的問題是CreateTable
方法,有很多的IT問題,例如:
我找不到任何標準的方法來創建用戶定義的類的表。 How can I generate database tables from C# classes?:這個解決方案很好,但不理想。也許它在某些情況下崩潰。
DataTypes!
C#和SQL Server數據類型之間沒有集成。例如varchar
,nvarchar
和text
都是(或映射到)string
!
因此,當一個用戶創建這個類:
public class Person
{
public int ID { get; set; }
public string Name { get; set; }
}
我應該使用SQL Server的數據類型爲Name
?
最後,如果生成SQL查詢並執行它是這個問題的最佳方法,那麼您的建議是什麼?
謝謝,我應該生成SQL查詢來創建表嗎?是否有另一種解決方案,而不是生成查詢?因爲它是不準確的 – Parsa
你的意思是你應該發送[DDL](https://en.wikipedia.org/wiki/Data_definition_language)到SQL Server來創建表?是的,我相信這是您唯一的方法。 –