Ok, that was a stupid title.  But hey, I’m not a comedian.
Just finished looking through the Stored Procedure Object Interface Layer (SPOIL) write up on MSDN’s Solution Architecture Center.  SPOIL allows you to declaratively link a method with the same signature as the stored procedure (except using BCL types) together.  For example,  take this stored procedure sample:
CREATE PROCEDURE [dbo].[SendLog_Update] 
(
@BatchId uniqueidentifier,
@PartnerId nvarchar(50),
@Mailbox nvarchar(50),
@RootName nvarchar(100),
@Directory nvarchar(100),
@StartPackaging datetime,
@TotalBytes bigint, 
@SendBytes bigint
) …
To something like this in code:
[SqlCommandMethod(CommandType.StoredProcedure, "SendLog_Update")]
public int SendLog_Update(
    Guid BatchId,
    [SqlParameter(50)] string PartnerId,
    [SqlParameter(50)] string Mailbox,
    [SqlParameter(100)] string RootName,
    [SqlParameter(100)] string Directory,
    DateTime StartPackaging,
    long TotalBytes,
    long SendBytes)
{ ... } 
Kinda different, huh?  Check it out and let me know what you guys think!