c# - 获取在 C# 事务中在对象内部创建的对象的 ID
问题描述
我正在尝试使用 Oracle 数据库在 c# 中插入记录。我正在使用事务进行插入。
如何让子对象 ID 插入即将到来的下一个对象的数据?我能够获取父对象的 ID,但无法获取子对象 ID。父母和孩子是同一类的对象。
代码如下所示:
using (DatabaseContext lContext = new DemoDatabaseContext())
{
try
{
foreach (var alias in pLstAlias)
{
DATA lAlias = new DATA();
lAlias.ID = alias.ID;
lAlias.FIRST_NAME = alias.FIRST_NAME;
lAlias.SECOND_NAME = alias.SECOND_NAME;
lAlias.NAME_CONCAT = alias.GetConcatName();
lAlias.SYSTEM_NAME = alias.GetSystemName(lAlias.NAME_CONCAT);
lAlias.Add(lContext);
if (alias.AKAList != null)
{
foreach (var aka in alias.AKAList)
{
DATA lChildAlias = DATA();
lChildAlias.PARENT_ID = lAlias.ID;
lChildAlias.AKA__NAME = aka.FIRST_NAME;
lChildAlias.NAME_CONCAT = aka.GetConcatName();
lChildAlias.SYSTEM_NAME = aka.GetSystemName(lChildAlias.NAME_CONCAT);
List<DATA2> aliasList = StoreRecodsToObject(lChildAlias.SYSTEM_NAME);
if (aliasList != null)
{
foreach (var item in aliasList)
{
DATA DataForAliases = new DATA2();
// here I need to add ID of lChildAlias
DataForAliases.ALIAS_ID = lChildAlias.ID;
DataForAliases.NAME = item.NAME;
DataForAliases.Add(lContext);
}
}
}
lChildAlias.Add(lContext);
}
}
}
}
catch(Exception ex){
lContext.Rollback();
return false;
}
}
解决方案
推荐阅读
- apache-spark - Spark 读取 BlobStorage 文件“java.io.IOException: No FileSystem for scheme: https”
- ruby-on-rails - Ruby——使用父类实例变量的子类
- ansible - Ansible group_vars 文件以匹配多个组
- r - ggplot 轴位置和小刻度
- html - 在线 3D 对象编辑器
- r - R从长到宽重塑数据框
- azure-devops - 自动生成项目文档
- sql - 以高成本 (90%) 搜索索引并为 NCI 提供建议
- c# - 将具有范围服务依赖关系的任务放在单例队列中是否安全?
- symfony4 - 带有连接的自定义请求创建查询构建器