說一個頁面加載,我想要做的第一件事是找到插入到表中的最後一條記錄的標識。LINQ是否有@@ IDENTITY或SCOPE_IDENTITY()的equivilant?
我不打算插入任何記錄或任何東西,我只是想盲目進來,找到插入的最後一個ID,可以使用LINQ來完成嗎?
說一個頁面加載,我想要做的第一件事是找到插入到表中的最後一條記錄的標識。LINQ是否有@@ IDENTITY或SCOPE_IDENTITY()的equivilant?
我不打算插入任何記錄或任何東西,我只是想盲目進來,找到插入的最後一個ID,可以使用LINQ來完成嗎?
加載的集合不知道有關存儲的任何內容(它處理自動增量值)。如果您想知道已加載集合中的最高ID,則可以使用聚合LINQ查詢並選擇最大ID。
或者您可以使用Linq-To-Sql來運行存儲過程並檢索SCOPE_IDENTITY。
您試過BLToolkit。它支持LINQ,以及那些在LINQ2SQL缺席許多其他有用的操作:即DML具有人情味:)
關於你的問題:BLToolkit包含InsertWithIdentity方法
var value = db.Employee.InsertWithIdentity(() => new Northwind.Employee
{
FirstName = "John",
LastName = "Shepard",
Title = "Spectre",
HireDate = Sql.CurrentTimestamp
});
或
var value =
db
.Into(db.Employee)
.Value(e => e.FirstName, "John")
.Value(e => e.LastName, "Shepard")
.Value(e => e.Title, () => "Spectre")
.Value(e => e.HireDate, () => Sql.CurrentTimestamp)
.InsertWithIdentity();
您可以隨時從Linq執行T-SQL代碼片段以獲取值:
SELECT
name,
OBJECT_NAME(OBJECT_ID) 'Table name',
ISNULL(last_value, -1) 'Last Value'
FROM
sys.identity_columns
然後從該輸出中獲取必要的值。
你好男人我有一個解決方案linq白色vb.net!
Dim Reg as new Consult
Reg.Nombre = TxName.Text
Reg.Edad = TxYears.Text
Reg.Pulso = TxPulse.Text
Reg.Tension = TxTens.Text
Reg.Peso = TxKg.Text
Db.Consulta.InsertOnSubmit(Reg)
Db.SubmitChanges()
MsgBox("You have created a New Consult #" & Reg.ConsultaId)
DialogResult = Windows.Forms.DialogResult.OK
Me.Close()
這工作對我來說!
我應該指出,一些女士也使用這個網站。 – 2014-05-10 16:50:42