gpt4 book ai didi

c# - Linq/Entity框架中如何获取待创建的ID

转载 作者:行者123 更新时间:2023-11-30 17:18:48 24 4
gpt4 key购买 nike

我有两个这样的表:

**Complaint**
-Id
-CreatedBy
-CreatedDate
....

**Solution**
-Id
-ComplaintId

有时,投诉有即时解决方案,这意味着在创建投诉时,也会创建解决方案。数据库是 Oracle,为了将新记录插入数据库,我将 StoredGeneratePattern 设置为 Identity 并使用触发器插入序列值。

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;
}

}

问题是,我无法获取新创建的投诉的 ID 来设置解决方案中的字段。我该怎么做?

谢谢。

最佳答案

你能不能执行第一个操作调用 SaveChanges() 然后查询你的投诉对象,它现在应该有一个 complaintID。

关于c# - Linq/Entity框架中如何获取待创建的ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5403233/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com