<分区>
我正在创建一个迷你 ORM 以更好地学习 C# 中的反射。
此外,我想使用Native & Pure C# 并且不使用 Entity Framework 或 SQL Server Management Objects .
public static void CreateTable(Type tableType, string connectionString)
{
// codes to create table in database
}
问题是CreateTable
方法,里面有很多问题,例如:
我找不到任何从用户定义类创建表的标准方法。 How can I generate database tables from C# classes? : 这个解决方案很好但不理想。也许它在某些情况下会崩溃。
数据类型!
<
C# 和 SQL Server 数据类型之间没有集成。例如varchar
、nvarchar
和text
都是(或映射到)string
!
所以当用户创建这个类时:
public class Person
{
public int ID { get; set; }
public string Name { get; set; }
}
我应该为 Name
使用哪种 SQL Server 数据类型?
最后,如果生成 SQL 查询并执行它是解决此问题的最佳方法,您的建议是什么?