我已经研究了这个问题到死。每个人和他们的兄弟都想知道如何将int或decimal转换为字符串,但是我找不到任何与EF做相反的例子。LINQ to Entities字符串到十进制的一列
我的数据源在varchar类型的数据库中有一个order total_amt列。原因是因为源数据被加密。解密器的确如此。我可以重写那个解密到一个临时表,然后将这些结果插入到一个正确类型的表中,但是现在和在数据库更新期间,这需要分配更多的工作,因为我们展开了应用程序。
我很想能够投出的列,但我不知道如何与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,其中包含上述提及的分页,排序等数据。
[问题与LINQ的转换INT为字符串的实体(可能重复http://stackoverflow.com/questions/1066760/problem-with-converting-int -to-string-in-linq-to-entities) – Win 2013-03-05 16:15:10
Total_Amt是否需要在某段时间内是int或小数?你多久使用一次? – 2013-03-05 16:16:32
@Win,这是一个否定的,因为我明确表示我想做相反的事情,将字符串转换为另一种格式,在这种情况下是十进制。 – 2013-03-05 16:22:17