我有这样的现有功能
public int sFunc(string sCol , int iId)
{
string sSqlQuery = " select " + sCol + " from TableName where ID = " + iId ;
// Executes query and returns value in column sCol
}
该表有四列存储整数值,我正在使用上述函数分别读取它们。
现在我将它转换为 Entity Framework 。
public int sFunc(string sCol , int iId)
{
return Convert.ToInt32(TableRepository.Entities.Where(x => x.ID == iId).Select(x => sCol ).FirstOrDefault());
}
但是上面的函数返回错误
输入字符串格式不正确
因为它返回列名本身。
我不知道如何解决这个问题,因为我对 EF 很陌生。
任何帮助,将不胜感激
谢谢
原文由 pravprab 发布,翻译遵循 CC BY-SA 4.0 许可协议
这可能有助于解决您的问题:
此方法现在适用于动态输入法参数
sCol
。更新:这不是当前问题的上下文,而是一般我们如何使用表达式选择动态列: