linux 字符转int,在EF 4.0中将字符串转换为Int

有没有办法做到这一点?我在数据库中有一个字符串字段,我想将其解析为我的LINQ查询中的int属性(是的,它必须处于IQueryable级别,而不是位于内存中)。

我知道2年前EF 1.0不能做到这一点(即使LINQ to SQL开箱即用也支持此基本功能)...但是我只是想知道现在是否有人想出办法?

自定义功能映射?特殊语法?什么都没有...

更新:

我尝试了模型定义的函数,如下所示:

CAST(v AS INT)

[EdmFunction("Model.Repository", "ConvertToInt32")]

public static int ConvertToInt32(string value)

{

throw new InvalidOperationException("Only valid when used as part of a LINQ query.");

}

但它似乎不起作用。我得到运行时异常:

ErrorDescription=Type 'INT' could not be found. Make sure that the required schemas are loaded and that the namespaces are imported correctly.

StackTrace:

at System.Data.Common.EntitySql.SemanticAnalyzer.ConvertTypeName(Node typeName, SemanticResolver sr)

at System.Data.Common.EntitySql.SemanticAnalyzer.ConvertTypeExprArgs(BuiltInExpr astBuiltInExpr, SemanticResolver sr)

at System.Data.Common.EntitySql.SemanticAnalyzer.b__73(BuiltInExpr bltInExpr, SemanticResolver sr)

at System.Data.Common.EntitySql.SemanticAnalyzer.ConvertBuiltIn(Node astExpr, SemanticResolver sr)

at System.Data.Common.EntitySql.SemanticAnalyzer.Convert(Node astExpr, SemanticResolver sr)

at System.Data.Common.EntitySql.SemanticAnalyzer.ConvertValueExpression(Node astExpr, SemanticResolver sr)

at System.Data.Common.EntitySql.SemanticAnalyzer.ConvertQueryStatementToDbExpression(Statement astStatement, SemanticResolver sr)

at System.Data.Common.EntitySql.SemanticAnalyzer.AnalyzeQueryCommand(Node astExpr)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值