C# 添加存储过程并从服务调用它 我创建了一个简单的存储过程,其中包含一些与customer表和其他相关表的连接,其中包含两个参数。我可以在SQL中执行此SP并正常工作 我将这个SP拖放到我的DBML文件并重新编译
我添加以下代码以调用SP并在列表中返回它C# 添加存储过程并从服务调用它 我创建了一个简单的存储过程,其中包含一些与customer表和其他相关表的连接,其中包含两个参数。我可以在SQL中执行此SP并正常工作 我将这个SP拖放到我的DBML文件并重新编译,c#,.net,stored-procedures,linq-to-sql,C#,.net,Stored Procedures,Linq To Sql,我添加以下代码以调用SP并在列表中返回它 public IQueryable<Entities.Customer> AllCustomerRanges(int CId, int ItemID) { List<Entities.Customer> c = myDataContext.spCustomerRanges(CId, ItemID).ToList(); } public-IQueryable-allcustomerrage(int-CId,int-Ite
public IQueryable<Entities.Customer> AllCustomerRanges(int CId, int ItemID)
{
List<Entities.Customer> c = myDataContext.spCustomerRanges(CId, ItemID).ToList();
}
public-IQueryable-allcustomerrage(int-CId,int-ItemID)
{
List c=myDataContext.spcustomerrages(CId,ItemID.ToList();
}
这给了我一个错误:
无法将类型“System.Collections.Generic.List知道如何调用在列表中显示数据的SP吗?新类spCustomerRangesResult根据SP结果自动生成,您应该将其转换为实体。客户如下:
public IQueryable<Entities.Customer> AllCustomerRanges(int CId, int ItemID)
{
var c = myDataContext.spCustomerRanges(CId, ItemID).ToList();
if (c == null)
return null;
var customers = c.Select(a => new Entities.Customer
{
FirstName=a.spResultFirstName,
LastName = a.spResultLastName
//this just example conversion, change it as needed.
});
return customers;
}
public-IQueryable-allcustomerrage(int-CId,int-ItemID)
{
var c=myDataContext.spcustomerrages(CId,ItemID.ToList();
如果(c==null)
返回null;
var customers=c.Select(a=>newentities.Customer
{
FirstName=a.spResultFirstName,
LastName=a.spResultLastName
//这只是一个转换示例,根据需要进行更改。
});
返回客户;
}
请注意,我返回IQueryable,即使使用ToList()时采用的方法,但可能不需要返回IQuerybale。我不知道所有细节,所以这只是为了说明如何转换,但整个方法可能需要重新分解。我确实看了一下,但我没有使用EF6抱歉,我混淆了EDMX和DMBL(我甚至不知道这是什么),请尝试使用“var c=…”并查看提供给您的属性。spCustomerRangesResult可能具有results属性或value属性,该属性将返回entities.customer。