2011-08-15 58 views
0

我尝试通过内容返回对象具有字符串类型:由字符串内容查询返回的对象

public ObjectQuery<question> getQuestionByContent(String content) 
{ 
    DemoDBEntities _context = new DemoDBEntities(); 
    var x = _context.question.Where(p => p.q_content == content); 
    Debug.WriteLine(((ObjectQuery)x).ToTraceString()); 
    return (ObjectQuery<question>)x; 
} 

我调用上面的函数是:

public question BS_GetQuestionByContent(String content) 
{ 
    DB_Implementation _dal = new DB_Implementation(); 
    return _dal.getQuestionByContent(content).SingleOrDefault<question>(); 
} 

,并得到:

System.Data.EntityCommandExecutionException:“执行命令定义时发生错误 请参阅的内部例外细节。“

重要的是要注意: 当我做这个函数时whis int类型String没有问题。

有什么想法吗?

+1

什么是内部异常? –

+0

内部异常: 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关该错误的更多信息以及源代码的位置。 异常详细信息:System.ServiceModel.FaultException'1 [[System.ServiceModel.ExceptionDetail,System.ServiceModel,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089]]:执行命令定义时发生错误。详情请参阅内部例外。 – Shirani

+0

在你的数据库中,q_content是什么类型? – Becuzz

回答

0

LINQ不允许您使用=来比较数据库字段和文本数据类型。对于你可以做些什么的一些想法,看看this SO question.