Ich verwende C# und LINQ zum Ziehen/Drücken von Daten in SQL Azure. Das Basisszenario ist eine Customer-Tabelle, die alle Kunden (PK = CompanyID) und unterstützende Tabellen wie LaborTypes und Materialien (FK CompanyID to Customer-Tabelle) enthält.Ziehen von Daten aus einer SQL Azure-Tabelle, Hinzufügen einer Spalte und Auffüllen einer anderen Tabelle
Wenn sich ein neuer Kunde anmeldet, wird in der Customers-Tabelle ein neuer Datensatz erstellt. Sobald dies abgeschlossen ist, möchte ich eine Reihe von Standardmaterialien und labourTypes aus einer separaten Tabelle laden. Es ist einfach genug, wenn ich nur Daten direkt von einer Tabelle in eine andere kopieren wollte, aber um die vorhandenen Tabellen für den neuen Kunden zu füllen, muss ich die Seed-Daten (zB labourType, labourDescription) nehmen, die CompanyID für jede Zeile hinzufügen von Seed-Daten, dann die Einfügung in die bestehende Tabelle.
Was ist die beste Methode, um dies mit C# und LINQ mit SQL Azure zu erreichen?
Ein Beispiel für eine direkte Einfügung von Benutzereingaben für LaborTypes ist unten für die kontextuelle Referenz.
using (var context = GetContext(memCustomer))
{
var u = GetUserByUsername(context, memUser);
var l = (from lbr in context.LaborTypes
where lbr.LaborType1.ToLower() == laborType
&& lbr.Company == u.Company
select lbr).FirstOrDefault();
if (l == null)
{
l = new AccountDB.LaborType();
l.Company = u.Company;
l.Description = laborDescription;
l.LaborType1 = laborType;
l.FlatRate = flatRate;
l.HourlyRate = hourlyRate;
context.LaborTypes.InsertOnSubmit(l);
context.SubmitChanges();
}
result = true;
}
Sie versuchen Folgendes: Erstellen Sie einen Datensatz in Tabelle A; Diese Aufzeichnungen haben Seed-Daten, die in Tabelle B und C gespeichert sind. Oder nehmen Sie all diese verschiedenen Informationen vom Benutzer? –
Keine Benutzereingabe in diesem Teil des so ist Ihr Ansatz in der ersten Frage richtig. Ich möchte Zeilen in Tabelle A (z. B. LaborTypes) unter Verwendung von Seed-Daten aus Tabelle B (z. B. SeedLaborTypes) erstellen und die CompanyID hinzufügen. – NCTechFarmer
Hat die folgende Antwort das Ziel verfehlt? –