可能我是盲目的,但我无法找到如何将字符串转换为int。我写了
query.OrderByDescending(a => SqlFunctions.IsNumeric(
a.Index.Substring(a.Index.Length - 4, 4)) == 1 ?
Convert.ToInt32(a.Index.Substring(a.Index.Length - 4, 4)) :
0);
但是,正如我所怀疑的,它会返回错误
LINQ to Entities无法识别方法' Int32 ToInt32(System.String)'
此外 SqlFunctions 没有成员转换。有没有办法实现这一点而不枚举查询?
编辑:
int.Parse
抛出
LINQ to Entities无法识别方法' Int32 解析(System.String)
答案 0 :(得分:4)
这是一个很长的镜头,因为我自己没有尝试过(几周前我读过它)。
如果SqlFunctions类没有提供你需要的函数,你可以在SQL Server端创建一个自定义函数,然后在.NET端创建一个类,类似于SqlFunctions类来调用自定义函数。有一个属性,你必须使用。
来装饰.NET类这样的事情可能有用吗?
答案 1 :(得分:0)
int a=int.Parse(string);
是在c#
中将字符串转换为int的方法答案 2 :(得分:0)
int.TryParse(X.Number, out tmp) ? tmp : 0
答案 3 :(得分:0)
您是否尝试过global $product;
$attachment_ids = $product->get_gallery_attachment_ids();
echo '<div class="flexslider"><ul class="slides">';
foreach( $attachment_ids as $attachment_id )
{
echo '<li>';
echo "<img src=".$image_link = wp_get_attachment_url( $attachment_id, 'large').">";
echo '<p>';
$attachment_meta = wp_get_attachment($attachment_id);
echo $attachment_meta['caption'];
echo '</p>';
echo '</li>';
}
echo '</ul></div>';
?像这样的东西:
TryParse
我总是将int number;
query.OrderByDescending(a =>(
int.TryParse(a.Item1.Substring(1, 2),
out number) == true ? number: 0));
与lambda表达式一起使用。