Ich möchte Daten aus der Tabelle "Province_Notifiers" abrufen und auch alle entsprechenden Elemente aus der Tabelle "Province_Notifier_Datas" abrufen. Die Tabelle "Province_Notifier" hat eine GUID, um sie zu identifizieren (PK), die Tabelle "Province_Notifier_Datas" hat eine Spalte namens BelongsToProvinceID, die ein Fremdschlüssel für die "Province_Notifier" -Tabellen GUID ist.Wählen Sie Zeilen aus Tabelle1 und alle untergeordneten Objekte aus Tabelle2 in ein Objekt
ich so etwas wie dies versucht:
var records = from data in ctx.Province_Notifiers
where DateTime.Now >= data.SendTime && data.Sent == false
join data2 in ctx.Province_Notifier_Datas on data.Province_ID equals data2.BelongsToProvince_ID
select new Province_Notifier
{
Email = data.Email,
Province_ID = data.Province_ID,
ProvinceName = data.ProvinceName,
Sent = data.Sent,
UserName = data.UserName,
User_ID = data.User_ID,
Province_Notifier_Datas = (new List<Province_Notifier_Data>().AddRange(data2))
};
Diese Zeile nicht funktioniert und ich versuche topull die Daten, um herauszufinden, wie aus table2 in diese Province_Notifier_Datas Variable.
Province_Notifier_Datas = (new List<Province_Notifier_Data>().AddRange(data2))
ich eine Platte leicht hinzufügen kann die zweite Tabellenzeile in die Province_Notifier_Datas durch Zugabe, aber ich kann es nicht zurück holen.
Province_Notifier dbNotifier = new Province_Notifier();
// set some values for dbNotifier
dbNotifier.Province_Notifier_Datas.Add(
new Province_Notifier_Data
{
BelongsToProvince_ID = userInput.Value.ProvinceId,
EventText = GenerateNotificationDetail(notifierDetail)
});
Dies funktioniert und fügt die Daten korrekt in beide Tabellen ein.
Edit:
Diese Fehlermeldungen ausgelöst wird:
Cannot convert from 'Province_Notifier_Data' to 'System.Collections.Generic.IEnumerable'
Wenn ich in Visual Studio suchen, die Variable "Province_Notifier_Datas" ist vom Typ System.Data.Linq.EntitySet
The best overloaded method match for 'System.Collections.Generic.List.AddRange(System.Collections.Generic.IEnumerable)' has some invalid arguments
Bearbeiten:
var records = from data in ctx.Province_Notifiers
where DateTime.Now >= data.SendTime && data.Sent == false
join data2 in ctx.Province_Notifier_Datas on data.Province_ID equals data2.BelongsToProvince_ID
into data2list
select new Province_Notifier
{
Email = data.Email,
Province_ID = data.Province_ID,
ProvinceName = data.ProvinceName,
Sent = data.Sent,
UserName = data.UserName,
User_ID = data.User_ID,
Province_Notifier_Datas = new EntitySet<Province_Notifier_Data>().AddRange(data2List)
};
Fehler 3 Der Name 'data2List' existiert nicht im aktuellen Kontext.
Wenn ich versuche, dass ich die folgende Fehlermeldung erhalten: Fehler Der Typ 'System.Collections.Generic.IEnumerable' kann nicht implizit in 'System.Data.Linq.EntitySet ' konvertiert werden. Es gibt eine explizite Konvertierung (fehlt eine Besetzung?) –
Patrick
@Patrick: Ist 'Province_Notifier_Datas' vom Typ 'EntitySet'? Dann versuche meinen bearbeiteten Code. –
Slauma
Ich habe das hinzugefügt, aber jetzt kann es die data2List nicht finden ?? Se mein Beitrag oben, unten – Patrick