Я так понимаю ты новичок и тебе нужно просто понять некоторые концепты и ключевые термины.
SSMS - это на самом деле просто оболочка для доступа к самой базе данных которая Sql Server.
Точно так же как сама SSMS подключается к БД, твоя программа сначала должна подключится к этой же БД. Подключение осуществляется через драйвер, он уже есть готовый для Sql Server в составе фреймворка. Для подключения к БД используется строка которая так называется Connection String
она у разных баз разного формата. Например она может выглядеть примерно так: "server=MSSQLSERVER;database=Sales;Trusted_Connection=true"
В фреймворке также есть набор классов ADO.NET которые являются оберткой над драйверами и позволяются удобно делать запросы к БД.
После того как ты подключишся к базе у тебя появляется соединение (примерно как если ты подключился к БД в SSMS). В это соединение можно начинать отправлять запросы и получать в ответ данные (так же как ты пишешь запросы в SSMS, только уже вызова функции).
Пример установки соединения и выполнения запроса отсюда:
using System;
using DT = System.Data;
using QC = Microsoft.Data.SqlClient;
namespace ProofOfConcept_SQL_CSharp
{
public class Program
{
static public void Main()
{
using (var connection = new QC.SqlConnection(
"Server=tcp:YOUR_SERVER_NAME_HERE.database.windows.net,1433;" +
"Database=AdventureWorksLT;User ID=YOUR_LOGIN_NAME_HERE;" +
"Password=YOUR_PASSWORD_HERE;Encrypt=True;" +
"TrustServerCertificate=False;Connection Timeout=30;"
))
{
connection.Open();
Console.WriteLine("Connected successfully.");
Program.SelectRows(connection);
Console.WriteLine("Press any key to finish...");
Console.ReadKey(true);
}
}
static public void SelectRows(QC.SqlConnection connection)
{
using (var command = new QC.SqlCommand())
{
command.Connection = connection;
command.CommandType = DT.CommandType.Text;
command.CommandText = @"
SELECT
TOP 5
COUNT(soh.SalesOrderID) AS [OrderCount],
c.CustomerID,
c.CompanyName
FROM
SalesLT.Customer AS c
LEFT OUTER JOIN SalesLT.SalesOrderHeader AS soh
ON c.CustomerID = soh.CustomerID
GROUP BY
c.CustomerID,
c.CompanyName
ORDER BY
[OrderCount] DESC,
c.CompanyName; ";
QC.SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine("{0}\t{1}\t{2}",
reader.GetInt32(0),
reader.GetInt32(1),
reader.GetString(2));
}
}
}
}
}
/**** Actual output:
Connected successfully.
1 29736 Action Bicycle Specialists
1 29638 Aerobic Exercise Company
1 29546 Bulk Discount Store
1 29741 Central Bicycle Specialists
1 29612 Channel Outlet
Press any key to finish...
****/
Вот ещё видео в котором основные моменты рассмотрены.