Генерируйте Базу данных из файлов конфигурации NHibernate

Попробуйте:

Sub FormatTable(control As IRibbonControl)
With Selection
  If .Information(wdWithInTable) = True Then
    .Tables(1).Style = "Prime Table 1"
    .Style = "Normal"
  Else
    MsgBox "There's no table at the current selection."
  End If
End With
End Sub
9
задан NotDan 11 January 2009 в 01:56
поделиться

3 ответа

Как упоминал Иоахим, это Параметр "hbm2ddl.auto", который вы ищете.

Вы можете установить его с помощью следующего кода:

var cfg = new NHibernate.Cfg.Configuration();
cfg.SetProperty("hbm2ddl.auto", "create");
cfg.Configure();

И вы также можете установить его в своем файле App.config:

    <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
    <session-factory>
        <property name="hbm2ddl.auto">create</property>
14
ответ дан 4 December 2019 в 11:44
поделиться

проверьте установку "hbm2ddl.auto" (в конфигурации или NHibernate. Cfg. Конфигурация). с "создают" Вас, может воссоздать целую схему базы данных от Ваших отображений, и установка "обновления" должна просто обновить Вашу схему.

2
ответ дан 4 December 2019 в 11:44
поделиться

Да возможно генерировать таблицы базы данных и классы C# из файлов конфигурации NHibernate. Позвольте мне объяснить с этим примером здесь.

1: Address.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>

<hibernate-mapping
    xmlns="urn:nhibernate-mapping-2.0"
    default-cascade="none">

    <class
        name="Your.Domain.AddressImpl, Your.Domain"
        table="[ADDRESS]"
        dynamic-insert="true"
        dynamic-update="true"
        lazy="true">

        <id name="Id" type="long" unsaved-value="0">
            <column name="ID" sql-type="NUMERIC(19,0)"/>
            <generator class="native">            </generator>
        </id>



        <property name="Address1" type="string">
            <column name="ADDRESS1" not-null="true" unique="false" sql-type="VARCHAR(100)"/>
        </property>

        <property name="Address2" type="string">
            <column name="ADDRESS2" not-null="true" unique="false" sql-type="VARCHAR(100)"/>
        </property>

        <property name="City" type="string">
            <column name="CITY" not-null="true" unique="false" sql-type="VARCHAR(100)"/>
        </property>

        <property name="State" type="string">
            <column name="STATE" not-null="true" unique="false" sql-type="VARCHAR(100)"/>
        </property>

        <property name="Zipcode" type="string">
            <column name="ZIPCODE" not-null="true" unique="false" sql-type="VARCHAR(100)"/>
        </property>




    </class>
</hibernate-mapping>

Шаг 2: Только рассмотрением конфигурационного файла, Вы Объект адреса siply похож на следующее

using System;

namespace Your.Domain
{

    public partial class Address
    {



        #region Attributes and Associations

        private string _address1;
        private string _address2;
        private string _city;
        private long _id;
        private string _state;
        private string _zipcode;

        #endregion

        #region Properties

        /// <summary>
        /// 
        /// </summary>
        public virtual string Address1
        {
            get { return _address1; }
            set { this._address1 = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public virtual string Address2
        {
            get { return _address2; }
            set { this._address2 = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public virtual string City
        {
            get { return _city; }
            set { this._city = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public virtual long Id
        {
            get { return _id; }
            set { this._id = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public virtual string State
        {
            get { return _state; }
            set { this._state = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public virtual string Zipcode
        {
            get { return _zipcode; }
            set { this._zipcode = value; }
        }


        #endregion 
    }
}

Шаг 3: И снова если Вы смотрите на свойство названия "Столбца" и его тип данных, который является, на самом деле относится к Фактической таблице базы данных бэкенда под названием "Адрес".

Существует также огромная сумма инструментов, которые помогают Вам генерировать все эти артефакты для Вас на основе другого входа, такие как UML Или Фактическая Схема базы данных и т.д.

2
ответ дан 4 December 2019 в 11:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: