Спасибо, рабочий вариант.
Я докрутил еще вариант решения, нужно понять, что оптимальнее (по explan — решение с join содержит меньше операций, но я не понял, как сравнить производительность).
select * from Pubs
where PubId in
(
(select PubId from pubs inner join PubNodes on PubId = PubNodes.PubPtr
where PubNodes.NodePtr = A)
intersect
(select PubId from pubs inner join PubTargets on PubId = PubTargets.PubPtr
where PubTargets.TargetPtr = B)
intersect
(select PubId from pubs inner join PubSections on PubId = PubSections.PubPtr
where PubSections.SectionPtr = C)
)
По всей видимости не то. Мне не нужно собирать проекты, для этого я использую VS. Мне нужно создавать проекты. То есть, условно говоря, введя имя Solution1.Appl1 я должен получить солюшн из трех пустых проектов с установленными связями между проектами (из примера выше).
Правильно ли я все понял?
public void MakeCopys(string path)
{
var di = new DirectoryInfo(path);
Parallel.ForEach(di.GetFiles("*.jpg"), (file) =>
{
MakeThumbnails(file);
});
}
Подключил iTextSharp через Nuget. Вроде про деньги ничего не спросил. Но как конвертировать непонятно. Нашел один пример, но он белиберду выдает на выходе
using (var sr = new StreamReader(fileRes))
using (var fs = new FileStream(filePdf, FileMode.Create))
using (var pdf = new iTextSharp.text.Document())
{
PdfWriter.GetInstance(pdf, fs);
pdf.Open();
pdf.Add(new iTextSharp.text.Paragraph(sr.ReadToEnd()));
pdf.Close();
}
Спасибо за варианты, рабочее решение, задачу решает.
Но для общей ситуации без привязки к моему примеру — есть ли возможность селекции делегатов в одну строку? Типа такого: filter = userId.hasValue? filter1 : filter2;, но чтобы использовались не ранее объявленные делегаты, а непосредственно лямбда-выражения. Выражения могут быть абстрактно разными, без возможности объединения двух логических выражений в одно.
Я докрутил еще вариант решения, нужно понять, что оптимальнее (по explan — решение с join содержит меньше операций, но я не понял, как сравнить производительность).
select * from Pubs
where PubId in
(
(select PubId from pubs inner join PubNodes on PubId = PubNodes.PubPtr
where PubNodes.NodePtr = A)
intersect
(select PubId from pubs inner join PubTargets on PubId = PubTargets.PubPtr
where PubTargets.TargetPtr = B)
intersect
(select PubId from pubs inner join PubSections on PubId = PubSections.PubPtr
where PubSections.SectionPtr = C)
)