Utilizando procedimientos almacenados con Entity Framework 4 Code First CTP5

Estoy usando Entity Framework 4 Code First CTP5 y ASP.NET MVC 3. ¿Me gustaría saber cómo hago uso de los procedimientos almacenados?

Tengo el siguiente código en mi clase de repositorio:

MyDatabaseContext db = new MyDatabaseContext();

public void Insert(News news)
{
   db.Newses.Add(news);
   db.SaveChanges();
}

Y luego mi procedimiento de almacenamiento de inserción se verá así:

ALTER PROCEDURE [dbo].[News_Insert]
(
   @Title VARCHAR(100),
   @Body VARCHAR(MAX),
   @NewsStatusId INT
)

AS

BEGIN

   INSERT INTO
      News
      (
         Title,
         Body,
         NewsStatusId
      )
      VALUES
      (
         @Title,
         @Body,
         @NewsStatusId
      );

  SELECT SCOPE_IDENTITY();

END

Cualquier artículo / consejo sería apreciado.

UPDATE 1:

Con el diseñador podría devolver el nuevo objeto o ID de noticias, ¿cómo haría esto aquí?

UPDATE 2

Esto es lo que hice

public void Insert(News news)
{
   int newsId = context.Database.SqlQuery<int>("News_Insert @Title, @Body, @Active",
      new SqlParameter("Title", news.Title),
      new SqlParameter("Body", news.Body),
      new SqlParameter("Active", news.Active)
   ).FirstOrDefault();

   context.SaveChanges();
}

Aquí aparece un error que dice:

La conversión especificada de un tipo materializado 'System.Decimal' al tipo 'System.Int32' no es válida.

Mi clase de noticias:

public class News
{
   public int NewsId { get; set; }
   public string Title { get; set; }
   public string Body { get; set; }
   public bool Active { get; set; }
}

Estoy usando una base de datos existente y mi cadena de conexión se ve así:

<connectionStrings>
   <add
      name="MyDatabaseContext"
      connectionString="Data Source=MyServer;Initial Catalog=MyDatabase;Integrated Security=True;"
      providerName="System.Data.SqlClient" />
</connectionStrings>

Aquí está mi clase de contexto:

public class MyDatabaseContext : DbContext
{
   public DbSet<News> Newses { get; set; }
}

No estoy seguro de lo que estoy haciendo mal aquí? ¿Mi procedimiento almacenado puede ser incorrecto? Idealmente, me gustaría devolver el nuevo objeto actualizado. ¿Alguien puede aconsejarme?

Respuestas a la pregunta(2)

Su respuesta a la pregunta