Кто-нибудь знает способ автоматической генерации таблиц базы данных для данного класса? Я не ищу целый слой persistence - у меня уже есть решение для доступа к данным, которое я использую, но мне внезапно приходится хранить много информации из большого количества классов, и я действительно не хочу создавать все эти таблицы вручную. Например, учитывая следующий класс:
class Foo
{
private string property1;
public string Property1
{
get { return property1; }
set { property1 = value; }
}
private int property2;
public int Property2
{
get { return property2; }
set { property2 = value; }
}
}
Я бы ожидал следующий SQL:
CREATE TABLE Foo
(
Property1 VARCHAR(500),
Property2 INT
)
Мне также интересно, как вы можете обрабатывать сложные типы. Например, в ранее цитированном классе, если бы мы изменили это:
class Foo
{
private string property1;
public string Property1
{
get { return property1; }
set { property1 = value; }
}
private System.Management.ManagementObject property2;
public System.Management.ManagementObject Property2
{
get { return property2; }
set { property2 = value; }
}
}
Как я могу справиться с этим?
Я попытался автоматически сгенерировать сценарии базы данных самостоятельно, используя отражение, чтобы перечислять свойства каждого класса, но это неудобно, и сложные типы данных меня озадачили.