6

私は Dapper Rainbow を初めて使用するので、明らかな何かを見落としている可能性があります。テーブル名を指定することは可能ですか?

私は運がないので、次のことを試しました。

public class DashboardContext : Database<DashboardContext>
{
    public DashboardContext()
    {
       this.DashboardResults = new Table<DashboardResult>(this, "Monitor.DashboardResult");
    }

    public Table<DashboardResult> DashboardResults { get; set; }
}
4

4 に答える 4

1

私は同じ問題を抱えていましたが、コードにエラーがあるようです。テーブルのコンストラクター (Database.cs) を設定している行にコメントしたところ、動作します。

    internal void InitDatabase(DbConnection connection, int commandTimeout)
    {
        this.connection = connection;
        //this.commandTimeout = commandTimeout;
        //if (tableConstructor == null)
        //{
        //    tableConstructor = CreateTableConstructorForTable();
        //}

        //tableConstructor(this as TDatabase);
    }

これは最善の解決策ではないと思います...

于 2013-08-17T00:41:44.577 に答える
0

それを機能させるには、虹のソースをハックする必要があります。CreateTableConstructorメソッドは、DataBase.cs のファイルで見つけます。次のようなコードを追加するだけです。

...
var setters = GetType().GetProperties()
    .Where(p => p.GetValue(this, null) == null 
             && p.PropertyType.IsGenericType 
             && p.PropertyType.GetGenericTypeDefinition() == tableType)
    .Select...
于 2015-02-08T08:45:29.453 に答える