您的位置:首页 > 其它

工作中遇到的问题总结1

2013-11-20 14:18 295 查看
问题(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服务返回后的一个新的副本。


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: