Arn*_*und 4 c# sql-server refactoring linq-to-sql
我想重构一些C#模块,它们通过Linq-to-SQL从SQL Server 2008读取数据.这些存储过程最多获取一行,因为我提交完整的PK作为参数.显然Linq-to-SQL并不知道最多可以返回一行.因此,以下代码运行以获取一个值或抛出异常:
var results = context.MyProcName(myParameter);
foreach (var result in results)
{
return result.THeColumnINeed;
}
throw new Exception(string.Format("Value not found for parameter {0}", myParameter));
Run Code Online (Sandbox Code Playgroud)
这段代码完成了工作,但有点看起来很难看.我怎样才能做得更好?
Mar*_*ell 11
return context.MyProcName(myParameter).Single().THeColumnINeed;
Run Code Online (Sandbox Code Playgroud)