我已经对这个问题进行了大量的研究。每个人都想知道如何将整数或小数转换为字符串,但我找不到使用EF进行相反操作的示例。
我的数据源在数据库中有一个total_amt列,其类型为varchar。原因是源数据被加密。解密器会直接在原地进行解密。我可以重写它以将其解密到一个临时表中,然后将这些结果插入到正确类型的表中,但这需要更多的工作,现在和在扩展应用程序期间的DB更新期间都需要。
我很想能够强制转换列,但我无法弄清楚如何在Linq和EF中执行该操作。
我的数据源在数据库中有一个total_amt列,其类型为varchar。原因是源数据被加密。解密器会直接在原地进行解密。我可以重写它以将其解密到一个临时表中,然后将这些结果插入到正确类型的表中,但这需要更多的工作,现在和在扩展应用程序期间的DB更新期间都需要。
我很想能够强制转换列,但我无法弄清楚如何在Linq和EF中执行该操作。
public ActionResult Orders_Read([DataSourceRequest]DataSourceRequest request) {
var db = new Ecommerce_DecryptedEntities();
var orders = from s in db.Orders
where s.Order_Complete == true
select new {
s.Order_Id,
s.MySEL_Name,
s.MySEL_EMail,
s.MySEL_Bus_Name,
s.Total_Amt,
s.Order_Complete_DateTime
};
DataSourceResult result = orders.ToDataSourceResult(request);
return Json(result, JsonRequestBehavior.AllowGet);
}
注意:结果需要是iQueryable类型。我真的不想将其转换为ToList,因为这样会从数据库中拉取所有数据。这将被绑定到Telerik KendoUI网格,该网格将传递分页、排序和其他参数(请注意,它被转换为KendoUI的ToDataSourceResult,使用传递的请求来保存上述分页、排序等数据)。