工作中遇到的问题总结1
问题(1):
LINQ To Object 注意区分大小写。
var caseRefundList = entity.UP_refund_Info_CaseAPIRefund_GetList(accountName.ToLower()).Select(m => new
{
id = m.CaseID,
type = m.CaseType,
refund_id = m.id,
account_id = m.account_id
});
上述用于UP_refund_Info_CaseAPIRefund_GetList是一个存储过程。
LINQ To SQL 是不区分大小写。
var result = entityCSOS_NEW_2.Cases.Where(m => m.CaseId == modelPaypal.CaseID.ToInt()
&& m.Name == modelPaypal.Name
&& m.CaseAmount == modelPaypal.RefundPrice
&& m.CaseCurrency == modelPaypal.RefundCurrency
).FirstOrDefault();
上述Cases是一个dbml文件中的表
问题(2):对象经过谨慎远程调用后,返回的是一个新的对象副本,而不再指向原来的对象。
public bool CompareRegulation ( Model.OrderInfo order, List<Model.OrderInfo> OrderInfoList, List<PayPalPaymentInfo> PayPalList, List<BankPaymentInfo> BankList, List<Model.CostInv> CostInv, List<Model.BuyerBillDetail> BuyerBillDetailList, List<Model.BuyerBillInfo> BuyerBillInfoList, List<Model.OrderPayPalLink> payPalLinks, List<Model.OrderBankLink> bankLinks, List<Model.AccountProperty> accountProperty, decimal SumUpValue, decimal SumDownValue, bool IsDefinite = false //是否精确匹配(按PaypalTransactionID、Currency、TotalPrice 三个条件全匹配,准确性最高) ) { IEnumerable<Model.OrderInfo> UnionOrders = new List<Model.OrderInfo>(); //多订单对比 ....................... UnionOrders=OrderInfoList; //调用WCF服务方法 #region [计算账单邮费新方法WCF] OrderTotalPrice2 = OrderSystemService.ServiceFactory.Client.Compute(ref UnionOrders, firstOrderPriceDomestic, firstOrderPriceForeign, otherOrderPrice,
account.DomesticNameList) + SumUpValue; //调用WCF服务方法后,返回UnionOrders对象的引用地址不在是指向原始的对象,而是一个新的对象副本。(即使该对象被Ref关键字限制;本来引用地址就是Ref传值) //对比成功后;修改数据 foreach (var item in UnionOrders) { item.IsPaid = "1";//此时修改后,原对象OrderInfoList中的IsPaid依然是0;因为调用WCF服务方法后远程对象返回后UnionOrders并不在是指向OrderInfoList对象了。 } } 调用方法 bool result= com.CompareRegulation ( order, OrderInfoList, PayPalList, BankList, CostInv, BuyerBillDetailList, BuyerBillInfoList, payPalLinks, bankLinks, AccountProperty, SumUpValue, SumDownValue ); 此时OrderInfoList结果集中的IsPaid任然是0;因为得到的是WCF服务返回后的一个新的副本。
作者:阿笨
【官方QQ一群:跟着阿笨一起玩NET(已满)】:422315558
【官方QQ二群:跟着阿笨一起玩C#(已满)】:574187616
【官方QQ三群:跟着阿笨一起玩ASP.NET(已满)】:967920586
【官方QQ四群:Asp.Net Core跨平台技术开发(可加入)】:829227829
【官方QQ五群:.NET Core跨平台开发技术(可加入)】:647639415
【网易云课堂】:https://study.163.com/provider/2544628/index.htm?share=2&shareId=2544628
【51CTO学院】:https://edu.51cto.com/sd/66c64
【微信公众号】:微信搜索:跟着阿笨一起玩NET