如何在C#程序中访问LINQ中Select实例的输出值
我不熟悉编写存储过程。所以我写了下面的过程,希望访问我程序中的输出值,热做它 我的存储过程:如何在C#程序中访问LINQ中Select实例的输出值,c#,sql,linq,c#-4.0,C#,Sql,Linq,C# 4.0,我不熟悉编写存储过程。所以我写了下面的过程,希望访问我程序中的输出值,热做它 我的存储过程: Create Procedure [dbo].[STP_ExecCarInDriver_SelectByCarCode] @CarCode nchar(10) As Begin SELECT DISTINCT [MachineName] ,[FirstName] ,[LastName] FROM [RoadTrs].[dbo].[ViewExecCarInDriver] WHERE [CarCode]
Create Procedure [dbo].[STP_ExecCarInDriver_SelectByCarCode]
@CarCode nchar(10)
As
Begin
SELECT DISTINCT
[MachineName]
,[FirstName]
,[LastName]
FROM [RoadTrs].[dbo].[ViewExecCarInDriver]
WHERE [CarCode]=@CarCode
End
并尝试使用以下代码来实例化MachineName、FirstName和Last Name参数:
var Results = rt.STP_ExecCarInDriver_SelectByCarCode(txtCarCode.Text);
string MachineName= Results(0).
但它不起作用 使用以下内容:
var Results = rt.STP_ExecCarInDriver_SelectByCarCode(txtCarCode.Text).FirstOrDefault();//Use .List() if query return more than one result.
string MachineName = Results.MachineName;
string FirstName = Results.FirstName;
string LastName = Results.LastName;
如果您使用的是LinqtoSql,我建议您不要使用存储过程 (他们成为管理imho的麻烦) 而是使用数据上下文来获取该项
int carcode = 0; //input your code here
var ctx = new RoadTrsDataContext();
var item - ctx.ViewExecCarInDriver.Where(x=>x.CarCode == carcode).FirstOrDefault();
ctx.Dispose();
if(item!= null)
{
var name = item.FirstName;
}
可能会有帮助。您正在使用ADO、链接到实体、linq到sql吗?您的
rt
对象是什么?您正在使用LINQtoSQL吗?还是怎样C#是如何知道您的存储过程的?Farzad M您看过这个链接了吗?也许这对Brian没有帮助。实际上,我认为格式化链接比放置trythis
更容易。例如,OP可能不知道它是实际的链接。。LOLit不起作用,因为没有任何.FirstOrDefault()函数