Ich habe zwei solcher Tische:
**Complaint**
-Id
-CreatedBy
-CreatedDate
....
**Solution**
-Id
-ComplaintId
Manchmal hat eine Beschwerde eine sofortige Lösung, d.h. wenn sie erstellt wird, wird auch eine Lösung erstellt. Die Datenbank ist Oracle, und um einen neuen Datensatz in die Datenbank einzufügen, setze ich StoredGeneratePattern auf Identity und verwende einen Trigger, um den Wert einer Sequenz einzufügen.
here my code:
using (var context = new Entities())
{
var complaint = new Complaint
{
Title = TitleTextBox.Text.Trim(),
CreatedBy = CurrentUser.UserID,
Description = DescriptionTextBox.Text.Trim(),
ServiceId = Convert.ToDecimal(ddlService2.Value),
Contact = ContactTextBox.Text.Trim(),
CreatedDate = DateTime.Now,
Customer = txtUserName.Text.Trim(),
ResellerId = CurrentUser.ResellerID,
Status = ComplaintStatus.GetStatusCode("New complaint")
};
if (CompletedCheckBox.Checked)
{
complaint.Status = ComplaintStatus.GetStatusCode("Completed");
var solution = new Solution
{
CreatedBy = CurrentUser.UserID,
CreatedDate = DateTime.Now,
SolutionDesc = DescriptionTextBox.Text,
ComplaintId = complaint.Id
};
context.Solutions.AddObject(solution);
}
context.Complaints.AddObject(complaint);
if(context.SaveChanges() > 0)
{
ResetFrom();
return true;
}
}
Das Problem ist, dass ich die ID der neu erstellten Beschwerde nicht bekommen kann, um das Feld in der Lösung zu setzen. Wie kann ich das tun?
Ich danke Ihnen.