C# 带存储过程的Linq到Sql
我试图在dbml中使用存储过程,但我得到以下错误。存储过程有多个联接表,但它返回一行C# 带存储过程的Linq到Sql,c#,asp.net-mvc,linq-to-sql,C#,Asp.net Mvc,Linq To Sql,我试图在dbml中使用存储过程,但我得到以下错误。存储过程有多个联接表,但它返回一行 public static List<SP_EMP_MASTER_DETAILResult> GetEmployeeDetail(string userName, string userLocation) { var query = (from q in db.SP_EMP_MASTER_DETAIL(userLocation, userName) sele
public static List<SP_EMP_MASTER_DETAILResult> GetEmployeeDetail(string userName, string userLocation)
{
var query = (from q in db.SP_EMP_MASTER_DETAIL(userLocation, userName)
select new SP_EMP_MASTER_DETAILResult { ID = q.EMP_ID, Name = q.EMP_NM }).ToList();
return query;
}
公共静态列表GetEmployeeDetail(字符串用户名、字符串用户位置)
{
var query=(来自db.SP\u EMP\u MASTER\u详细信息中的q(userLocation,userName)
选择new SP_EMP_MASTER_DETAILResult{ID=q.EMP_ID,Name=q.EMP_NM});
返回查询;
}
这是一个错误
非静态字段、方法或属性“Tiger.Models.HomeRepository.db”需要对象引用
你的方法是静态的。。。db变量也是静态的吗?不能在静态方法中引用非静态类成员 不能使用静态方法和属性 访问中的非静态字段和事件 它们的包含类型,并且它们不能 访问任何类型的实例变量 对象,除非显式传递它 在方法参数中
from@Hoorayo:不。在你努力理解这一点之前,你不能使用任何东西。linq到sql、列表或IQueryable都没有问题。您已将您的方法设置为“静态”,但您的变量db不是静态的,不能用于静态方法。Timwi绝对正确。让我先弄清楚,尽管这对我来说听起来很复杂。@Hoorayo:我爱你!要是所有的初学者都是这样就好了:)是的,我只是一个月大的C#初学者,所以你的任何帮助都会很好。我想我不应该使用static,因为db变量不是静态的。