Test edilen LINQPad (https://www.linqpad.net/) 'da oluşturduğum ve çalıştığı tüm sorularıma aşağıdaki sorgularım var. LINQ Sorguları LINQ Pad'de çalışmıyor Not:
var UserEvents = from e in _context.Events
join s in _context.Shifts on e.ShiftID equals s.SHFID
where e.UID == userID
select new UserEvents
{
EVTID = e.EVTID,
UID = e.UID,
ShiftID = e.ShiftID,
EVTDate = e.EVTDate,
Notes = e.Notes,
AreaID = s.Area.AreaID,
AreaDesc = s.Area.AreaDesc,
CPYDesc = s.Area.Company.CPYDesc,
StartTime = s.StartTime,
EndTime = s.EndTime,
RequiredResources = s.RequiredResources,
ShiftDesc = s.ShiftDesc,
ShiftDayOfWeek = s.ShiftDayOfWeek
};
Ben
bunu üzerine taşındığında VS o Shift Alanı tanımını yoktu şikayet etti. O Şimdi bir public List<Shift> SHFID { get; set; }
ile Alanlarda belirtilen şekilde
Bu ben doldurma olmadan bu sorgu çalışması için nasıl anlamaya çalışırken oldukça şaşırıp gerçek Shift.cs Alanı'na açık bir beyanı içermez ise benim tablo yapısı (ilk kodu kullanarak Entity.Framework)
Shifts.cs
public class Shift
{
[Key]
public int SHFID { get; set; }
public TimeSpan StartTime { get; set; }
public TimeSpan EndTime { get; set; }
public int RequiredResources { get; set; }
public string ShiftDesc { get; set; }
public string ShiftDayOfWeek { get; set; }
public DateTime ShiftExDateStart { get; set; }
public DateTime ShiftExDateEnd { get; set; }
public int ShiftExLevel { get; set; }
public TimeSpan ShiftExStartTime { get; set; }
public TimeSpan ShiftExEndTime { get; set; }
}
Eh, 'Shift' için' Alan' özelliği ekleyin. EF, her iki sınıf arasında 1: n (Alan: Shift) ilişkisi olarak seçmeli ve bunu bir SQL birleştirmesine çevirmelidir. –
Beyannamede olduğu gibi iyi bir fikir gibi görünüyor. Sadece bir alan mı ilan edersin? ya da başka bir şekilde bildirmek mi? – Caz1224
[Entity Framework'de gezinme özellikleri] üzerinde okuma yapmanızı öneririm (https://msdn.microsoft.com/en-us/data/jj713564.aspx). Burada açıklamak için çok fazla var. –