我在Entity Framework中使用存储过程。假设我有这个程序:
public static int DoSth(decimal id)
{
return (int)Adapter.my_proc(id).First();
}
因为我不想得到First()元素,然后每当我想要一个扩展方法为我做这个时将其转换为(int)(获取第一个元素,然后将其转换为T)。它看起来怎么样?
答案 0 :(得分:3)
我不确定我明白你的问题是什么。下面是使用ObjectResult<T>
的简单扩展方法的代码,获取集合的第一个元素并将其强制转换为T(将该方法放在单独的静态类中)。
public static T Fetch<T>(this ObjectResult<T> result)
{
return (T)result.First();
}
然后你可以这样称呼它:
public static int DoSth(decimal id)
{
return Adapter.my_proc(id).Fetch<int>();
}
这就是你在想什么?