Я использую бесплатную версию LinqPAD.
У меня есть только .cs файлы с кодом.Я не могу запустить и отладить его.У меня нет базы данных.(И я не программист C #.)
Мне нужно преобразовать запросы Linq в необработанный запрос SQL (MsSql).Я хочу видеть простой SQL-запрос.
Поэтому я открываю LinqPAD и пишу жестко закодированные объекты / классы, которые представляют три таблицы из БД.
Я переключаюсь на "Программу C #".
public class ContactModel
{
public int UserSecondId { get; set; }
public int UserId { get; set; }
public int OrganizationId { get; set; }
public bool IsPrimary { get; set; }
}
class Contacts
{
public int OrganizationId { get;set; }
public int UserId { get;set; }
public char IsPrimary { get;set; }
}
class Organizations
{
public int Id { get;set; }
public int SecondId { get;set; }
}
class Users
{
public int Id { get;set; }
public char IsActive { get;set; }
public int SecondId { get;set; }
}
void Main()
{
List<Contacts> Contacts = new List<Contacts>();
Contacts.Add(new Contacts { OrganizationId = 1, UserId = 1, IsPrimary = 'Y' });
Contacts.Add(new Contacts { OrganizationId = 2, UserId = 1, IsPrimary = 'Y' });
List<Organizations> Organizations = new List<Organizations>();
Organizations.Add(new Organizations { Id = 1, SecondId = 1 });
Organizations.Add(new Organizations { Id = 2, SecondId = 2 });
List<Users> Users = new List<Users>();
Users.Add(new Users { Id = 1, SecondId = 1, IsActive = 'Y' });
Users.Add(new Users { Id = 2, SecondId = 1, IsActive = 'Y' });
int[] orgSecondIdList = { 1, 2 };
var query =
from contacts in Contacts
from orgs in Organizations.Where(o => o.Id == contacts.OrganizationId)
from users in Users.Where(o => o.Id == contacts.UserId)
where contacts.IsPrimary == 'Y' && users.IsActive == 'Y' &&
orgSecondIdList.Contains(orgs.SecondId)
select new ContactModel
{
OrganizationId = contacts.OrganizationId,
UserId = contacts.UserId,
UserSecondId = users.SecondId
};
query.Dump();
}
Я нажимаю Run.
LinqPAD показывает мне таблицу в Vizualizer.Но вкладка SQL пуста.
Что не так?Могу ли я получить сырой SQL-запрос?Нравится SELECT ... FROM ...