我有一个方法,我做以下事情
然而,尽管参数没有变化(只有值改变),方法的执行时间也在不断增加.
以下是我的方法的内容:
sw.Start();
details.EffectiveDate = cb.Attribute("dte_effective").Value.GetDate();
details.EndDate = cb.Attribute("dte_end").Value.GetDate();
details.MaxRefills = cb.Attribute("qty_refill").Value.ToIntOrNull();
details.Sex = cb.Attribute("cde_sex").Value == "B" || string.IsNullOrWhiteSpace(cb.Attribute("cde_sex").Value) ? (string)null : cb.Attribute("cde_sex").Value.Substring(0, 1);
details.RxLimit = cb.Attribute("cde_rx_limit").Value.ToBoolOrNull();
details.WEAC = fullDoc.Descendants("weacPrice").Select(d => (decimal?)decimal.Parse(d.Attribute("amt_npt_price").Value)).FirstOrDefault();
details.EAC = fullDoc.Descendants("eacPrice").Select(d => (decimal?)decimal.Parse(d.Attribute("amt_npt_price").Value)).FirstOrDefault();
details.FederalMAC = fullDoc.Descendants("fulPrice").Select(d => (decimal?)decimal.Parse(d.Attribute("amt_mac").Value)).FirstOrDefault();
details.StateMAC = fullDoc.Descendants("macPrice").Select(d => (decimal?)decimal.Parse(d.Attribute("amt_mac").Value)).FirstOrDefault();
//there are few more
var currRestrictions = db.NDCDiagRestrictions.Where(n => n.NDC == NDC).ToList();
var newRestrictions = fullDoc.Descendants("diagRestriction")
.Select(d => new NDCDiagRestriction()
{
NDC = NDC,
DiagFrom = long.Parse(d.Attribute("cde_diag_from").Value),
DiagTo = …Run Code Online (Sandbox Code Playgroud)