表A 为主表
表A需要表B中的Id
如果条件相符合则把表B 的id 插入表A的一个字段中,
如果表B中有多条与表A中的数据相符合则id用逗号隔开List<A> AList = AService.Query().Where(s => s.SerialNo == No).ToList();
//第一种:
NHSessionManager.Instance.BeginTransaction();
for (int i = 0; i < AList.Count;i++ )
{
//如果条件相同则关联插入Id,id用“,”隔开
List<B> BList = BService.Query().Where(s => s.SerialNo == AList[i].SerialNo && s.tNo == AList[i].No).ToList();
if (B.Count == 0)
continue;
StringBuilder sb = new StringBuilder();
for (int j = 0; j < BList.Count; j++)
{
if (j >= 1)
sb.Append(",");
sb.Append(BList[j].Id);
}
AList[i].PlanView = sb.ToString();
AService.SaveOrUpdate(AList[i]);
}
NHSessionManager.Instance.CommitTransaction();
表A需要表B中的Id
如果条件相符合则把表B 的id 插入表A的一个字段中,
如果表B中有多条与表A中的数据相符合则id用逗号隔开List<A> AList = AService.Query().Where(s => s.SerialNo == No).ToList();
//第一种:
NHSessionManager.Instance.BeginTransaction();
for (int i = 0; i < AList.Count;i++ )
{
//如果条件相同则关联插入Id,id用“,”隔开
List<B> BList = BService.Query().Where(s => s.SerialNo == AList[i].SerialNo && s.tNo == AList[i].No).ToList();
if (B.Count == 0)
continue;
StringBuilder sb = new StringBuilder();
for (int j = 0; j < BList.Count; j++)
{
if (j >= 1)
sb.Append(",");
sb.Append(BList[j].Id);
}
AList[i].PlanView = sb.ToString();
AService.SaveOrUpdate(AList[i]);
}
NHSessionManager.Instance.CommitTransaction();
解决方案 »
- C#windows应用程序,bindingSource做数据源时,数据集更新问题
- frameset DIV浮动显示
- 在WINFORM中怎么样将Exception显示成友好的提示信息.
- System.NullReferenceException: 未将对象引用设置到对象的实例??以前对于这个问题可以有办法的,但这个不会郁闷死了?????????
- 救救我吧~我让listBox控件愁坏了~!
- 向周末加班的朋友们推荐源码发布论坛
- 电子签名!有了解该类项目的高手来回答!需要了解的帮顶!
- 有人知道WINFORM 的 menuStrip时怎样实现的吗?
- (60分)如果想开发非网络应用程序,选C#还是Java????
- c#读取excel sheet 名称,筛选之后,跟原来的不一样
- winform打印小问题 (帮顶有分)第一次接触对本人有点困难
- 类型转换问题,在线等。。。急。。。。
//取得满足条件的B的id集合
string result = string.Join(",", (from A in AList join B in BService
on new{A.SerialNo, A.No} equals new{B.SerialNo, B.tNo}
select B.id).ToArray()
);
表A需要表B中的Id
如果条件相符合则把表B 的id 插入表A的一个字段中,
如果表B中有多条与表A中的数据相符合则id用逗号隔开
帮忙写个Oracle的存储过程