说一个页面加载,我想要做的第一件事是找到插入到表中的最后一条记录的标识。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