例如,我正在搜索特定的人員ID,並且希望將該ID存儲到本地變量或實例變量中。如何檢索查詢結果並將它們存儲在LINQ to SQL的int變量中? 假設我們有這個疑問LINQ to SQL將查詢結果存儲在變量中
from user in dbo.DoctorsName
where doctorsName = "Foo Bar"
select DOC_ID;
例如,我正在搜索特定的人員ID,並且希望將該ID存儲到本地變量或實例變量中。如何檢索查詢結果並將它們存儲在LINQ to SQL的int變量中? 假設我們有這個疑問LINQ to SQL將查詢結果存儲在變量中
from user in dbo.DoctorsName
where doctorsName = "Foo Bar"
select DOC_ID;
您可以使用FirstOrDefault()
這樣的:
var results = from user in dbo.DoctorsName
where user.doctorsName == "Foo Bar"
select user;
string personName = results.FirstOrDefault().Name;
就是這樣?我將如何執行查詢?有沒有insertOnSubmit?如果我正在查找表格ID,該怎麼辦?不是一個字符串? – user962206 2012-02-23 07:07:05
@ user962206,你爲什麼需要'insertOnSubmit()'?你可以選擇任何'user'屬性,就像'int ID = results.FirstOrDefault().ID'一樣,這會爲你選擇的一行提供一個值。 – 2012-02-23 07:10:36
這就是我需要的代碼?不再?就是這樣嗎?像java中沒有更多的executeQuery(結果)? – user962206 2012-02-23 07:12:14
這應該幫助。
var name = dbo.DoctorsName.Where(item => item.doctorsName = "Foo Bar").Select(item => item.Name).FirstOrDefault();
如果沒有條件記錄,則使用FirstOrDefault()可以引發異常。爲此,您可以嘗試使用 -
var namelist = dbo.DoctorsName.Where(item => item.doctorsName = "Foo Bar").Select(item => item.Name);
If(namelist.Count() > 0)
var name = namelist.Fisrt();
您的第一個代碼片段中的FirstOrDefault不會拋出異常,因爲您選擇的是字符串類型的item.Name。如果沒有匹配的記錄,它將簡單地返回null作爲字符串類型的'default' – 2012-02-23 07:22:01
與此類似:
var ticketDepartment = from t in dt_tickets.AsEnumerable()
where t.Field<string>("MID") == mid
select new { department = t.Field<string>("Department") };
,現在你有你的變量ticketDepartment.department
是什麼DOC_ID?我真的不明白你想要什麼?你想從DB獲得結果並將它們分配給局部變量? – Jayanga 2012-02-23 07:01:36
DOC_ID只是一個ID,我想檢索一個ID,醫生的名字是「Foo Bar」 – user962206 2012-02-23 07:07:56