※version0.4(plan)の内容が混じっていますので、0.3では動作しないものもあります。

Logging

VB.NET
Kairyu.Log.OnCreateCommand =
    Sub(sender, e)
        Dim lv As String = String.Format("[{0}]", e.CommandInfoLevel.ToString.ToUpper)
        Debug.Print(String.Format("{0} {1}", lv, e.ToString))
    End Sub

Kairyu.Log.OnFinish =
    Sub(sender, e)
        Debug.Print("    " & e.ToString)
    End Sub

Kairyu.Extensions.Connection.Log.OnConnectionStatusChange =
    Sub(sender, e)
        Debug.Print(String.Format("connection is {0}", e.CurrentState.ToString))
    End Sub

Kairyu.Extensions.Connection.Log.OnBeforeCommit =
    Sub(sender, e)
        Debug.Print("*before commit*")
    End Sub

Kairyu.Extensions.Connection.Log.OnTransactionStatusChange =
    Sub(sender, e)
        Debug.Print(String.Format("transaction is {0}", e.State.ToString))
    End Sub
詳細はログを取得するには?参照。

DDL

DBMSを環境名から自動判定する例

VB.NET
Kairyu.Extensions.IO.DB.Connect(
    Sub(r)
        '環境名の取得
        Dim name As String = Kairyu.Extensions.Connection.Connector.GetInstance.EnvironmentName
        '環境名から判断したDBMS用のDDL処理クラスを取得
        Dim f As Kairyu.Extensions.DDL.TableFactoryBase = Kairyu.Extensions.DDL.TableFactoryBase.Instance(name)
        Dim p = "データベースモデルが格納されたバイナリファイル名のパス"
        f.Create(r.Connection, (From el In Kairyu.Extensions.DDL.TypeReader.Read(p) Order By el.FullName))
    End Sub)

DBMSを指定する例

VB.NET
Kairyu.Extensions.IO.DB.Connect(
    Sub(r)
        'SQLServerを明示
        Dim f As Kairyu.Extensions.DDL.TableFactoryBase = Kairyu.Extensions.DDL.TableFactoryBase.Instance(Kairyu.Extensions.DDL.DBMSEnum.SqlServer)
        Dim p = "データベースモデルが格納されたバイナリファイル名のパス"
        f.Create(r.Connection, (From el In Kairyu.Extensions.DDL.TypeReader.Read(p) Order By el.FullName))
    End Sub)

DBMSを指定する例+命名規則をOracle形式にする

VB.NET
'DB側の命名規則をOracle形式にすることを明示。
Kairyu.TableAttributeFactory.Init("oracle") 
Kairyu.Extensions.IO.DB.Connect(
    Sub(r)
        'SQLServerを明示
        Dim f As Kairyu.Extensions.DDL.TableFactoryBase = Kairyu.Extensions.DDL.TableFactoryBase.Instance(Kairyu.Extensions.DDL.DBMSEnum.Oracle)
        Dim p = "データベースモデルが格納されたバイナリファイル名のパス"
        f.Create(r.Connection, (From el In Kairyu.Extensions.DDL.TypeReader.Read(p) Order By el.FullName))
    End Sub)
詳細はCode First(CREATE TABLE)するには?参照。


Last edited Mar 30, 2013 at 2:36 PM by mk3008, version 7

Comments

No comments yet.