Я работаю в новой компании с огромной базой данных ...
я пытаюсь представить дампер как орм ...
У меня есть отношение 1-N между двумя таблицами, с несколькими PK
мой запрос похож на
SELECT *
FROM testmag INNER JOIN movmag ON
movmag.code= testmag.code AND
tm_type = mm_type
AND tm_year = mm_year
AND tm_serie = mm_serie
AND tm_documentNumber = mm_documentNumber
и модели моего стола класса:
public class testMag
{
[Key]
[Column(Order = 0)]
public string code{ get; set; }
[Key]
[Column(Order = 1)]
public string tm_type { get; set; }
[Key]
[Column(Order = 2)]
public short tm_year { get; set; }
[Key]
[Column(Order = 3)]
public string tm_serie { get; set; }
[Key]
[Column(Order = 4)]
public int tm_documentNumber { get; set; }
...
}
public class movMag
{
[Key]
[Column(Order = 0)]
public string code { get; set; }
[Key]
[Column(Order = 1)]
public string mm_type { get; set; }
[Key]
[Column(Order = 2)]
public short mm_year { get; set; }
[Key]
[Column(Order = 3)]
public string mm_serie { get; set; }
[Key]
[Column(Order = 4)]
public int mm_documentNumber { get; set; }
[Key]
[Column(Order = 5)]
public int mm_row { get; set; }
...
}
Я пытаюсь выполнить этот сложный запрос, используя только один ключ splitOn и все ключи
string qJoin2 = "SELECT top 10 * FROM testmag INNER JOIN movmag ON movmag.code= testmag.code AND tm_type = mm_type AND tm_year = mm_year AND tm_serie = mm_serie AND tm_documentNumber = mm_documentNumber ";
var res = connection.Query<movmag, testmag, Tuple<movmag, testmag>>(
qJoin2,
Tuple.Create,
splitOn: "code,tm_type,tm_year,tm_serie,tm_documentNumber,code,mm_type,mm_year,mm_serie,mm_documentNumber,mm_row").ToList();
var res2 = connection.Query<movmag, testmag, Tuple<movmag, testmag>>(
qJoin2,
Tuple.Create,
splitOn: "code").ToList();
где я не прав?
кто-то может объяснить мне !?
большое спасибо