Obteniendo @@ IDENTITY de TableAdapter

Estoy tratando de completar una tarea aparentemente simple que se ha convertido en una aventura de varias horas: conseguir@@Identity deTableAdapter.Insert().

Aquí está mi código:

protected void submitBtn_Click(object sender, EventArgs e)
{
    AssetsDataSetTableAdapters.SitesTableAdapter sta = new AssetsDataSetTableAdapters.SitesTableAdapter();
    int insertedID = sta.Insert(siteTxt.Text,descTxt.Text);

    AssetsDataSetTableAdapters.NotesTableAdapter nta = new AssetsDataSetTableAdapters.NotesTableAdapter();
    nta.Insert(notesTxt.Text, insertedID, null,null,null,null,null,null);
    Response.Redirect("~/Default.aspx");
}

Unoresponder sugiere que todo lo que tengo que hacer es cambiar elExecuteMode. Lo intenté Esto haceGetData() dejar de funcionar (porque estoy devolviendo un escalar ahora en lugar de rowdata) (necesito mantener GetData ()). Tampoco resuelve el problema en que la variable insertID todavía está establecida en 1.

Traté de crear un segundoTableAdapter en elTypedDataSet.XSD y establecer la propiedad para ese adaptador en "escalar", pero aún falla con la variable obteniendo un valor de 1.

El comando de inserción generado es

INSERT INTO [dbo].[Sites] ([Name], [Description]) VALUES (@Name, @Description);
SELECT Id, Name, Description FROM Sites WHERE (Id = SCOPE_IDENTITY())

Y también se establece "Actualizar la tabla de datos" (agrega una instrucción de selección después de Insertar y actualizar las declaraciones para recuperar la identidad).

Ambiente

SQL Server 2008 R2, Visual Studio 2010, .NET 4, Windows XP, todos locales en la misma máquina.

¿Qué está causando esto?

EDITAR / ACTUALIZAR

Quiero aclarar que estoy usando código generado automáticamente en Visual Studio. No sé cuál es la "herramienta" que generó el código, pero si hace doble clic en el archivo * .XSD, muestra una interfaz de usuario de los esquemas de tabla SQL y los adaptadores de tabla asociados. Quiero seguir usando el código generado automáticamente y de alguna manera permitir obtener la Identidad. No quiero escribir todo esto a mano con procedimientos almacenados.

Respuestas a la pregunta(7)

Su respuesta a la pregunta