多くの接続オブジェクトを持つアプリケーション オブジェクトがあります。これは .Net の世界では素晴らしいことですが、残念ながら、結合は複合キーを持つ結合テーブルを介して管理されます。マルチマッピングアプローチを使用して、これをダッパーでマッピングすることは可能ですか?
今のところ、私は2つの別々のSQLステートメントを使用していますが、うまくいきません(EF側から来ています)。ここに私が試したいくつかのコードがありますが、動作しませんでした...
public class Application
{
public int ApplicationID { get; set; }
public string Name { get; set; }
public string Prefix { get; set; }
public List<Connection> Connections { get; set; }
}
public class ApplicationConnection
{
public int ApplicationID { get; set; }
public int ConnectionID { get; set; }
}
public class Connection
{
public int ConnectionID { get; set; }
public string ConnectionString { get; set; }
}
var tsql = @"SELECT A.*,C.*
FROM [Application] A
INNER JOIN [ApplicationConnections] AC on A.ApplicationID = AC.ApplicationID
INNER JOIN [Connections] C ON AC.ConnectionID = C.ConnectionID
WHERE A.ApplicationID = 122";
var results = connection.Query<Application, List<Connection>, Application>(tsql,
(appl, conn) => {
appl.Connections = conn; return appl;
},
splitOn: "ApplicationID,ConnectionID").First();
私が取得し続けるエラーは「use splitOn」エラーですが、これは氷山の一角に過ぎないと確信しています。誰かがアイデアを持っているなら、私はすべて耳を傾けます。